面试题:对象怎么定位

对象怎么定位

JVM是通过栈帧上的reference访问到对象的实例的,具体有2种方式。

  • 句柄访问
    • 优点:reference种存储稳定句柄地址,对象被移动时只会改变句柄中实例数据指针即可,reference本身不需要修改。
    • 缺点:比较费空间,需要单独开辟一个句柄池。速度相比直接指针可能还要慢一点。

image-20210105160107886

  • 直接指针(HotSpot采用)
    • 优点:访问的速度比句柄池要快。
    • 缺点:对象被移动时,reference本身需要修改。

image-20210105160200168

posted @ 2021-01-05 16:27  天宇轩-王  阅读(170)  评论(0编辑  收藏  举报