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