类加载机制
JVM类加载机制分为五个部分: 加载,验证,准备,解析,初始化
加载
加载是类加载过程中的一个阶段,会在内存中生成一个代表这个类的java.lang.Class 对象,作为方法区这个类的各种数据的入口...初始化变量为0值,在编译后,会将赋值指令存放与类构造器client方法中
但是,如果增加了final关键字:
public static final int a = 666;
将会在编译阶段生成ConstantValue...属性,在准备阶段会根据ConstantValue赋值为666
解析
解析阶段是指虚拟机将常量池中的符号引用替换为直接引用的过程
CONSTANT_Class_info
CONSTANT_Field_info...CONSTANT_Method_info
等常量
符号引用:以一组符号来描述所引用的目标,符号可以是任何形式的字面量,只要使用时能无歧义地定位到目标即可。...虚拟机设计团队把加载动作放到 JVM 外部实现,以便让应用程序决定如何获取所需的类,JVM 提
供了 3 种类加载器:
启动类加载器(Bootstrap ClassLoader)
负责加载 JAVA_HOME