虚拟机遇到遇到一条new指令
1.检查引用代表的类是否被加载过、解析和初始化过。
2.在类加载通过之后,虚拟机将为新生对象分配内存。
3.虚拟机将分配到的内存空间都初始化为零值(不包括对象头)。
4.接下来虚拟机要对对象进行一系列的设置,例如:对象是哪个类的实例、对象的哈希码等等。
5.执行完new指令之后会接着执行<init>方法,把对象按照程序员的意愿初始化,这样才算创建了一个真正可以用的对象。
虚拟机遇到遇到一条new指令
1.检查引用代表的类是否被加载过、解析和初始化过。
2.在类加载通过之后,虚拟机将为新生对象分配内存。
3.虚拟机将分配到的内存空间都初始化为零值(不包括对象头)。
4.接下来虚拟机要对对象进行一系列的设置,例如:对象是哪个类的实例、对象的哈希码等等。
5.执行完new指令之后会接着执行<init>方法,把对象按照程序员的意愿初始化,这样才算创建了一个真正可以用的对象。