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

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

 

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

1.指针碰撞

2.空闲列表

 

 

 

 

 

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

 

 

 

 

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

 

 

 

 

 

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

1.对象头

2.实例数据

3.补齐填充

 

 

 

 

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

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

1.使用句柄的方式

 

2.使用直接指针的方式

 

 

posted @ 2017-04-15 17:14  浪漫逆风  阅读(3076)  评论(0编辑  收藏  举报