摘要:
每个java线程都有一个Parker实例,Parker类是这样定义的: 可以看到Parker类实际上用Posix的mutex,condition来实现的。 在Parker类里的_counter字段,就是用来记录所谓的“许可”的。 当调用park时,先尝试直接能否直接拿到“许可”,即_counter> 阅读全文
摘要:
JAVA对象内存结构 HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。 对象头 markWord 用于存储对象自身的运行时数据, 如哈希码(HashCode)、GC分代年龄、锁状态标志、线程持 阅读全文