对象访问的方式有几种?

对象访问有两种 一种是句柄访问,一种是直接指针访问

句柄访问:在使用句柄访问对象时 , java 堆会划分一块内存作为句柄池 句柄池中存放各个对象的句柄,句柄包含了队形实例数据和对象类型数据的具体地址信息 以reference的类型存储 reference 存储的是对象的句柄地址

 

 

直接指针访问 :使用直接方式访问对象时,堆中对象存放的是对象的实例数据和指向对象类型数据的指针,reference则存储的是对象地址。

 

  直接指针访问的好处是 ?

  因为对象访问时节省了一次指针定位的时间开销,速度更快 由于对象访问非常频繁进行,所以能较好提升性能;

 

  HotSpot虚拟机使用了直接指针的方式访问对象; 默认的都是直接指针访问 

 

posted @ 2020-11-18 14:53  温柔不过四月  阅读(601)  评论(0)    收藏  举报