new()
类加载:
堆
Y: 分配空间
指针碰撞分配
空闲列表
CAS
TLAB: threadlocal allocation buffer 本地线程分配缓冲
对象:
对象头:
1)markword: 锁状态 hashcode 分代年龄 是否偏向锁 锁标志位
2)Klass Pointer 类型指针
3)数组长度
实例数据
对齐填充
非逃逸对象 可以在stack 里 new (需要设置JVM参数,JDK1.7后默认开启)
逃逸分析
标量替换:
栈帧
new()
类加载:
堆
Y: 分配空间
指针碰撞分配
空闲列表
CAS
TLAB: threadlocal allocation buffer 本地线程分配缓冲
对象:
对象头:
1)markword: 锁状态 hashcode 分代年龄 是否偏向锁 锁标志位
2)Klass Pointer 类型指针
3)数组长度
实例数据
对齐填充
非逃逸对象 可以在stack 里 new (需要设置JVM参数,JDK1.7后默认开启)
逃逸分析
标量替换:
栈帧