JVM中对象访问定位两种方式

时间:2023-03-08 17:54:01
JVM中对象访问定位两种方式

1.通过句柄方式访问,

  在Java堆中分出一块内存进行存储句柄池,这样的话,在栈中存储的是句柄的地址

JVM中对象访问定位两种方式

优点:

  当对象移动的时候(垃圾回收的时候移动很普遍),这样值需要改变句柄中的指针,但是栈中的指针不需要变化,因为栈中存储的是句柄的地址

缺点:

  需要进行二次定位,寻找两次指针,开销相对于更大一些

2.直接指针访问方式

  Java栈直接与对象进行访问,在Java堆中对象帆布中必须考虑存储访问类型的数据的相关信息,因为没有了句柄了

JVM中对象访问定位两种方式

优点:

  速度快,不需要和句柄一样指针定位的开销