类的主动初始化

类的主动初始化

类的初始化时机

❤:Java程序对类的使用方式分成:主动使用和被动使用,JVM必须在每个类或接口“首次主动使用”时才初始化它们;被动使用类不会导致类的初始化,主动使用的情况:

1)创建类实例

2)访问某个类或接口的静态变量

3)调用类的静态方法

4)反射某个类

5)初始化某个类的子类,而父类还没有初始化

6)JVM启动的时候运行的主类

7)定义了default方法的接口,当接口实现类初始化时

类的初始化机制和顺序

访问父类的静态变量,不会导致初始化

访问常量,不会导致类的初始化

类的卸载:

当代表一个类的Class对象不再被引用,那么Class对象的生命周期就结束了,对应的方法区中的数据也会被卸载

JVM自带的类加载器装载的类,,是不会卸载的,由用户自定义的类加载器加载的类是可以卸载的。

理解类从加载、连接、初始化到卸载的生命周期

理解类加载、类加载器、理解双亲委派模型

理解并掌握各种主动使用类的初始化时机

---- The end of this article ----