![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
文章平均质量分 83
ignorewho
笑你我枉花光心计 爱竞逐镜花那美丽
展开
-
JVM-对象的指针压缩
什么是java对象的指针压缩?1.jdk1.6 update14开始,在64bit操作系统中,JVM支持指针压缩2.jvm配置参数:UseCompressedOops,compressed--压缩、oop--对象指针3.启用指针压缩:-XX:+UseCompressedOops,禁止指针压缩:-XX:-UseCompressedOops为什么要进行指针压缩?1.在64位平台的HotSpot中使用3...原创 2018-06-28 11:14:09 · 7833 阅读 · 2 评论 -
JVM-如何计算一个java对象的大小
上一篇文章中介绍了java对象的堆内存结构这里我们讨论下如何获取一个java对象的堆内存大小使用什么方式获取java对象堆内存大小?1.使用Instrumentation类的getObjectSize(Object obj)方法可获取2.使用Instrumentation提供的方法获取堆内存只包括基本类型及引用类型本身的大小,不包括引用对象的大小3.可通过递归的形式实现获取java对象完整的堆内存...原创 2018-06-26 16:11:31 · 1778 阅读 · 0 评论 -
JVM-理解java对象的堆内存结构
java对象在堆中的基本内存结构,分为三个部分:1.对象头(header):包括Mark Word(标记字段)和Class Pointer(类型指针)2.实例数据(instance data):对象真正存储的有效信息,即代码中定义的各种类型的字段内容3.对齐填充(padding):由HotSpot虚拟机定义对象起始地址必须是8字节整数倍,当不是整数倍时,需要填充数据补齐,因为对补齐的数据访问只需要...原创 2018-06-26 09:33:40 · 3586 阅读 · 0 评论