摘要: 对象的内存布局可以分为两种对象:普通对象和数组对象。 一、普通对象: 1. 对象头(Mark Word):8Byte 2. 类指针(Class Pointer): -XX:+UseCompressedClassPointers开始的话是4Byte,不开启是8Byte 3. 实例数据(成员变量): 引 阅读全文
posted @ 2021-03-25 21:40 iamswf 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 【happens-before】规则定义了某个线程修改的变量,何时对其他线程可见。 指令重排 https://www.cnblogs.com/chenssy/p/6393321.html http://tutorials.jenkov.com/java-concurrency/java-happen 阅读全文
posted @ 2021-03-25 21:38 iamswf 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 属于jdk1.6优化手段,jdk1.6之前都是传统的重量级锁实现方式,优化后 如果程序运行期间永远是单线程,则只使用到偏向锁阶段,但是假如有第二,三个不同的线程介入,则升级为轻量级锁,如果这些线程只是交替有序的进行,则保持在轻量级阶段,一旦发生了并发冲突,则升级为重量级锁阶段。重量级锁阶段会先通过自 阅读全文
posted @ 2021-03-25 21:17 iamswf 阅读(81) 评论(0) 推荐(0) 编辑