关于对象访问
Object o = new Object()
此语句将会在 堆中 开辟空间存储 new Object()的实例信息,同时还必须包括对象类型,父类,实现的接口,方法等信息的地址信息(这些保存在方法区中)
reference 类型 保存的是指向对象的引用,具体的实现方式根据jvm的不同,一般有两种
1. 句柄, 即在jvm堆中保存了,一个句柄池,方法区的reference保存的是句柄表中句柄地址,句柄中保存了具体信息的地址,好处是,如果对象移动了,句柄不需要变
2. 直接地址, 即reference保存的是对象的直接地址,好处是,速度快,HotSpot使用了这种方式