类加载的时机

    xiaoxiao2022-07-14  156

    类被加载到虚拟中直到它被卸载会有如下生命周期

    加载,验证,准备,解析,初始化,使用,卸载。

    其中验证,准别,解析,统称为连接

    加载,验证,准备,初始化,卸载,这五个步骤顺序是固定的。

    但是解析可以在初始化之前进行解析也可以在初始化之后进行解析。

    类初始化时机

    1,new, getstatic, putstatic, invokestatic, 遇到这个四条指令,类没有被

    初始化过的时候,将会被初始化

    2,java.lang.reflect包的方法对类进行发射调用

    3,初始化一个类,如果父类没有被初始化过,则先初始化

    4,虚拟机启动,用户指定一个主类,初始化这个主类

    这四种情况,不会同时出现,有且仅有一个进行

    最新回复(0)