摘要:
为什么不用ReentrantLock而用synchronized ? 减少内存开销:如果使用ReentrantLock则需要节点继承AQS来获得同步支持,增加内存开销,而1.8中只有头节点需要进行同步。内部优化:synchronized则是JVM直接支持的,JVM能够在运行时作出相应的优化措施:锁粗 阅读全文
摘要:
Java通过可达性分析来判断对象是否存活。 基本思想是通过一系列称为“GC roots”的对象作为起始点,可以作为根节点的是: 1、虚拟机栈(栈帧中的本地变量表)中引用的对象 2、本地方法栈中JNI(即一般说的Native方法)引用的对象 3、方法区中类静态属性引用的对象 4、方法区中常量引用的对象 阅读全文