new一个对象时,都发生了什么事

2018-11-26  本文已影响0人  xiehongm_信陵
Book book = new Book();

在java中,创建一个对象,一般用new命令来创建,而当虚拟机遇到一个new命令时都会做什么呢?

1、类加载

当jvm遇到new指令时,首先去检查new指令的参数是否能在常量池中定位到类的符号引用,并且检查这个符号引号代表的类是否已经被加载、解析和初始化,如果没有,那么首先需要进行类加载,具体的类加载如下:

2、创建对象

执行new指令之后会接着执行<init>方法,把对象按照程序员的意愿进行初始化,这样一个真正可用的对象才算完全产生。
对于<clinit>()和<init>()的区别可看:https://blog.csdn.net/u013309870/article/details/72975536

上一篇 下一篇

猜你喜欢

热点阅读