参考博文:
http://blog.csdn.net/kai_wei_zhang/article/details/8239537
算是对他的一点点补充。
object obj = new Object();
中“Object obj”这部分的语义会映射到Java栈的本地变量表中,作为一个reference类型的数据出现。
而“new Object()”会反应到java的堆中。
类与对象的存储
- 实例数据值:对象中各个实例字段的数据。
这部分存储在堆中。 - 对象类型数据:对象类型,父类,实现的接口,方法等等
这些类型数据存储在方法区中。
句柄访问方式
句柄访问方式在GC时,只需要删除到对象实例数据的指针即可,reference不用发生变化
直接指针访问方式
直接指针访问方式直接指针访问方式的好处是速度快,节省了一次指针定位的事件开销。
但是在GC是reference会发生变化。、
网友评论