Java虚拟机创建对象的内存分配以及对象的内存布局

时间:2023-03-09 19:34:22
Java虚拟机创建对象的内存分配以及对象的内存布局

本博文知识参考周志明《深入理解Java虚拟机》

Java虚拟机在创建对象使如果进行内存分配:

1.指针碰撞

2.空闲列表

Java虚拟机创建对象的内存分配以及对象的内存布局

Java在多线程情况下创建对象的内存分配:

Java虚拟机创建对象的内存分配以及对象的内存布局

Java完成对象内存分配后的操作:

Java虚拟机创建对象的内存分配以及对象的内存布局

Java对象的在内存中的布局:

1.对象头

2.实例数据

3.补齐填充

Java虚拟机创建对象的内存分配以及对象的内存布局

Java对对象的访问定位:Java需要通过栈上的reference数据来操作堆上的具体对象

reference对对象的操作分为下面两种主流的方式

1.使用句柄的方式

Java虚拟机创建对象的内存分配以及对象的内存布局

2.使用直接指针的方式

Java虚拟机创建对象的内存分配以及对象的内存布局