①句柄
用句柄访问,Java堆中会划分出一块作为句柄池,reference中存储的就是对象的句柄地址,句柄中包含了对象实例数据与类型数据各自具体的地址信息。
(使用句柄来访问的最大好处就是reference中存储的是稳定句柄地址,在对象被移动时只会改变句柄中的实例数据指针,而 reference本身不需要被修改。)
②直接指针
使用直接指针访问,Java堆中的对象的内存布局就必须考虑如何放置访问类型数据相关的信息,reference中存储的直接就是对象地址。(使用直接指针来访问最大的好处就是速度更快,它节省了一次指针定位的时间开销)