![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 93
木易不是楊
这个作者很懒,什么都没留下…
展开
-
一、运行时数据区域
根据 《Java 虚拟机规范》的规定,Java 虚拟机所管理的内存将会包括以下截个运行时数据区域,如图所示。原创 2023-12-06 08:40:24 · 78 阅读 · 0 评论 -
HotSpot 虚拟机中的对象
使用直接指针来访问最大的好处就是速度更快,它节省了一次指针定位的时间开销,由于对象访问在 Java 中非常频繁,因此此类开销积少成多也是一项极为可观的执行成本,对虚拟机 HotSpot 而言,它主要使用第二种进行对象访问(有例外,如果使用了 Shenandoah 收集器的话会有一次额外的转发),但从整个软件开发的范围来看,在各种语言、框架中使用句柄来访问的情况也十分常见。实例数据部分是对象真正存储的有效信息,即在程序代码中所定义的各种类型的字段,无论是从父类继承的,还是在子类中定义的字段都必须记录起来。原创 2023-11-29 21:42:36 · 114 阅读 · 0 评论 -
类指针压缩空间
压缩指针,指的是在 64 位的机器上,使用 32 位的指针来访问数据(堆中的对象或 Metaspace 中的元数据)的一种方式。对象头中的 Class Pointer 默认占 8 个字节,开启 -XX:+UseCompressedOops 后,为了节省空间压缩为 4 个字节,Java 堆中对象指针会被压缩成 32 位,使用堆基地址(如果堆在低 26G 内存中的话,基地址为 0)。原创 2023-11-28 21:45:38 · 233 阅读 · 0 评论