java加载类的时机

        一个类的生命周期从加载到内存开始,卸载内存结束。包括加载、验证、准备、解析、初始化、使用、卸载七个阶段。验证、准备、解析称为连接。

一、遇到new、getstatic、putstatic、invokestatic这四条指令码时。

1、new关键字实例化一个类的时候。
2、读取或设置一个的类的静态字段的时候。限只在本类里定义的,继承父类的静态字段不算。静态常量不算。
3、调用一个类的静态方法时。

 

二、java.lang.reflect包的方法对类反射调用的时候。

三、初始化子类,父类没有初始化的时候初始化父类。

四、虚拟机启动时指定的主类会先被初始化。

猜你喜欢

转载自331218027.iteye.com/blog/2371402