在java中使用new关键字,JVM先检查这个new的指令是否能在常量池中定位到一个类的引用符号
然后检查这个符号引用相对应的类是否已经成功经历过加载、解析和初始化,
当类完成加载,JVM会对其进行内存非配,
分配完成后,JVM会初始化对象实例:对分配后的内存空间进行零值初始化
零值初始化后,JVM会初始化对象头和实例数据
最后将对象引用入栈再更新PC寄存器的字节码指令地址。
到此,java对象实例创建成功。
本文共 258 字,大约阅读时间需要 1 分钟。
在java中使用new关键字,JVM先检查这个new的指令是否能在常量池中定位到一个类的引用符号
然后检查这个符号引用相对应的类是否已经成功经历过加载、解析和初始化,
当类完成加载,JVM会对其进行内存非配,
分配完成后,JVM会初始化对象实例:对分配后的内存空间进行零值初始化
零值初始化后,JVM会初始化对象头和实例数据
最后将对象引用入栈再更新PC寄存器的字节码指令地址。
到此,java对象实例创建成功。
转载于:https://www.cnblogs.com/zou-yang/p/7365296.html