008.对象的内存布局
2021-07-10 17:57:19 21 举报
Java 对象信息在堆中的布局 头信息、实例数据、对齐填充等
作者其他创作
大纲/内容
GC分代年龄
方法区User.class
public class Person { private final String description = \
类型指针
description:
new Account(); 实例... ...
Java 堆
哈希值
偏向时间戳
线程持有的锁
public static void main(String[] args) { double money = 100.0d; Byte[] buff = new Byte[1024];}
一个slot
name:
Operation StackDynamic LinkingReturn Address
偏向线程id
锁状态标志
new User();
buff
父类实例数据: id: 1024
Heap Area
java 栈
对齐填充(padding
两个slot
Byte的Class类元信息
user
vm stack:虚拟机栈
User
数组长度: 1024
栈帧
Metaspace
运行时元数据
account:
\
Person的Class类元信息
Account的Class类元信息
args
实例数据(Instance Data)
运行时常量池... ...
public class User extends Person { private int id; private String name; private Account account;}
stack frame: main()
User的Class类元信息
money
new Byte[1024]; 实例: 头信息
\"小芳\"
new User(); 实例:头信息
user =
Local Virables
User user = new User();
0 条评论
下一页
为你推荐
查看更多