1、对象的实例化
大厂面试题
美团:
对象在JVM中是怎么存储的?
对象头信息里面有哪些东西?
蚂蚁金服:
二面:java对象头里有什么
以下为,上述脑图结点的解释:
对象实例化的过程:
1、加载类元信息 2、为对象分配内存 3、处理并发问题 4、属性的默认初始化(零值初始化) 5、设置对象头的信息 6、属性的显示初始化、代码块中初始化、构造器中初始化
对象的属性赋值的操作:
1、属性的默认初始化 2、显示初始化/(3、代码块中初始化) 4、构造器初始化
2、对象的内存布局
3、对象的定位访问
JVM是如何通过栈帧中的对象引用访问到其内部的对象实例的呢
句柄访问
好处:
reference中存储稳定句柄地址,对象被移动(垃圾收集时移动对象很普遍)时只会改变句柄中实例数据指针即可, reference本身不需要被修改。
直接指针
好处: