JVM(三)——对象的访问定位
创建完对象,到了使用对象的时候,通常声明一个同类型的引用指向该类型的对象,由这个引用来操作对象的字段、方法等。
Object obj = new Object();复制代码
我们的Java程序需要通过栈上的 reference 数据来操作堆上的具体对象,目前主流的访问方式有使用句柄和直接指针两种,我更青睐于后者,或者说基本只使用后者,那么,我简要介绍一下如何通过直接指针访问对象。
采用直接指针访问,那么Java堆对象的布局中就必须考虑如何放置访问类型数据的相关信息,而 reference 中存储的直接就是对象地址,如图篇首。
使用这种方式的最大好处就是速度更快。就虚拟机 Sun HotSpot 而言,它是使用了直接指针访问方式记性对象访问。