jvm的类加载时机
2021-03-29 22:04:23 0 举报
Java虚拟机中,一个类的加载过程的描述
作者其他创作
大纲/内容
解析(Resolution)
加载(Loading)
类的加载过程类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期如下:
使用(using)
连接(linking)
有且只有5中情况必须立即对类进行“初始化”(1)遇到new、getstatic、putstatic或invokestatic 这四条指令时,如果类没有进行过初始化,则需要先触发其初始化。(2)使用java.lang.reflect包的方法对类进行反射调用的时候,如果类没有进行过初始化,则需要先触发其初始化。(3)当初始化一个类的时候,如果发现其父类还没有进行过初始化,则需要先触发其父类的初始化。(4)当虚拟机启动时,用户需要指定一个要执行的主类,虚拟机会先初始化这个主类。(5)这个比较少见。。。tag:通过子类引用父类的静态字段,不会导致子类初始化。
验证(Verification)
卸载(Unloading)
准备(Preparation)
初始化(Initialization)
0 条评论
下一页