摘要:
1 jvm中是有专门的字符串池的内存空间的,这块空间和栈和堆不同。 2 String s = "string constant"; 这个时候,如果string pool中没有"string constant"这个字符串的话,这个字符串会被放在这个字符串池中。 如果再定义一个变量String t = 阅读全文
posted @ 2017-02-23 16:33
PhoenixTree(梧桐树)
阅读(206)
评论(0)
推荐(0)
摘要:
1 assembler instruction depends,有的汇编指令会被assemble成多条机器指令。 2 机器指令 depends,有的机器指令也不是atomic的。 所以,不要希望在单条语句上面实现atomic。 阅读全文
posted @ 2017-02-23 15:49
PhoenixTree(梧桐树)
阅读(167)
评论(0)
推荐(0)
摘要:
1 多线程环境下的构造函数调用 构造函数本身并没有隐式的同步,因为各个线程构建的是自己的对象,它们之间是不存在竞争关系的。 2 class loader在load class时被了sychronized java.lang.ClassLoader->loadClass(String name)->s 阅读全文
posted @ 2017-02-23 15:25
PhoenixTree(梧桐树)
阅读(252)
评论(0)
推荐(0)
摘要:
1 final关键字修饰不同的java概念,其作用不同。 2 当final修饰变量时 那么这个变量一旦被赋值,就不能再改变了,也就是说,这个变量永远指向同一个地址处。比如一个指向对象的final引用,这个引用永远得指向这个对象,如在代码中修改了,那么编译器会报错,编译不过。但是对这个对象本身的修改是 阅读全文
posted @ 2017-02-23 14:24
PhoenixTree(梧桐树)
阅读(118)
评论(0)
推荐(0)
摘要:
1 jvm默认有3类class loader bootstrap class loader,启动类加载器,负责加载${java_home}/jre/lib目录下的库,比如java基础类库包rt.jar extension class loader,扩展类加载器,负责加载${java_home}/jr 阅读全文
posted @ 2017-02-23 01:00
PhoenixTree(梧桐树)
阅读(313)
评论(0)
推荐(0)
摘要:
1 path很明显是unix shell的环境变量,比如bash shell,输入一个命令,它会先去path指定的目录下查找是不是有该命令的可执行文件。 2 -classpath 只是用在下面这种不发布jar包的场合。用于告诉虚拟机去该目录下查找用户用到的class文件以及第三方库的位置,虚拟机默认 阅读全文
posted @ 2017-02-23 00:28
PhoenixTree(梧桐树)
阅读(670)
评论(0)
推荐(0)