JVM学习--对象的访问定位

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011676300/article/details/83039421

JVM学习–总索引

JVM学习–对象的访问定位

Java建立的对象是放在堆中的,我们是通过栈中的引用去访问堆中的对象的。
在这里插入图片描述目前虚拟机有两种方通过引用去访问堆中的对象,一种是句柄访问,另一种是直接指针访问。

句柄访问

在这里插入图片描述
此时,Reference 保存的是句柄地址。
使用这种方式的好处是,当进行垃圾回收后,如果对象被移动,只需要改变句柄池中对象实例指针地址,Reference不用修改。

直接指针访问

在这里插入图片描述
此时,Reference 保存的是对象地址。
使用这种方式的好处是,访问对象的速度更快,因为少了句柄访问对象这个中间过程。

Hotspot使用的是直接指针访问。

猜你喜欢

转载自blog.csdn.net/u011676300/article/details/83039421