欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > JVM专题之Java对象内存模型

JVM专题之Java对象内存模型

2024/10/24 4:49:29 来源:https://blog.csdn.net/zgy_boke/article/details/140148053  浏览:    关键词:JVM专题之Java对象内存模型

一个Java对象在内存中包括3个部分:

对象头、实例数据和对齐填充

数据  内存 --  CPU   寄存器      -127   补码   10000001   -  11111111        32位的处理器

一次能够去处理32个二进制位      4字节的数据      64位操作系统    8字节    2的64次方的寻址空间

指针压缩技术       JDK1.6出现的     开启了指针压缩      什么时候指针压缩会无效  ??

超过32G指针压缩无效

小端存储:

便于数据之间的类型转换,例如:long类型转换为int类型时,高地址部分的数据可以直接截掉。

大端存储:

便于数据类型的符号判断,因为最低地址位数据即为符号位,可以直接判断数据的正负号。

java中使用的是大端存储。

内存模型设计之–Class Pointer

句柄池访问:

直接指针访问对象图解:

区别:
句柄池:

使用句柄访问对象,会在堆中开辟一块内存作为句柄池,句柄中储存了对象实例数据(属性值结构体) 的内存地址,访问类型数据的内存地址(类信息,方法类型信息),对象实例数据一般也在heap中开 辟,类型数据一般储存在方法区中。

**优点** :reference存储的是稳定的句柄地址,在对象被移动(垃圾收集时移动对象是非常普遍的行为) 时只会改变句柄中的实例数据指针,而reference本身不需要改变。

**缺点** :增加了一次指针定位的时间开销。

**直接访问:**

直接指针访问方式指reference中直接储存对象在heap中的内存地址&#x

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com