这个问题,爪哇老鸟应该知道
!运行:
等待新的、反射类、初始化子类等。开始初始化(为变量指定默认值等)!作为j实例化对象,等待使用
!在此过程中,对象引用、对象本身和静态变量将放置在堆栈(虚拟堆栈、本地方法堆栈等)、堆、方法区域等上
!深入了解jvm这个写的不错,推荐看!可以说这些事情都是面试时必须问的
java规范规定,必须正确初始化对象才能使用,因此首先执行类初始化,然后执行对象实例化。如果有差异,则是初始化后的实例化。
当java虚拟机开始工作时,它将首先加载所需的类,类加载器负责加载过程。加载过程分为五个阶段:加载、验证、准备、解析和初始化
初始化类后,我们可以得到对象的实例,例如,执行到new当person()步骤时,默认的初始值首先分配给成员变量,然后根据成员变量和非静态块的出现顺序进行初始化。初始化所有成员变量并执行非静态块后,调用构造方法来完成对象的创建,即对象的实例化。
我希望我的回答能对你有所帮助