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

1.通过句柄方式访问,

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

优点:

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

缺点:

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

2.直接指针访问方式

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

优点:

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

posted @ 2017-09-12 20:24  lonecloud  阅读(2226)  评论(0编辑  收藏  举报
我的博客即将同步至 OSCHINA 社区,这是我的 OSCHINA ID:lonecloud,邀请大家一同入驻:https://www.oschina.net/sharing-plan/apply