在jvm中,一个类从加载到使用,会经历七个过程:
1、加载 2、验证 3、准备 4、解析 5、初始化 6、使用 7、卸载
1、加载过程即jvm将需要用到的.class文件加载到内存的过程;
2、验证就是用来校验加载到内存的.class文件是否被篡改,.class文件是否符合规范;
3、准备,该阶段就是为加载到内存中的类以及其涉及到的变量分配空间,并赋初始值;
4、解析阶段就是将符号引用变成直接引用的过程;
5、初始化阶段就是在准备阶段的基础上,对分配的空间进行实际的赋值(准备阶段只是对变量赋初始化的值)
类初始化规则:(1)、当通过new 对象() 来实例化对象时,jvm就会将这个对象加载
(2)、main() 方法的主类,会立即加载
(3)、当加载一个类时,如果其父类没有加载,则会先去加载其父类