类加载详解,类加载过程

a)类加载:
JVM在第一次使用某个类时 会通过CLASSPATH所配的路径 将该类所对应的.class文件中类的相关信息(属性/方法/静态成员/父类信息...)
读取到JVM的内存中,并保存起来。
b)类加载的过程:

加载----链接(验证+准备+解析)-----初始化----使用----卸载

加载:将.class中的信息读取到内存
验证:验证该.class是否是合法的.class文件 验证相应的访问权限修饰符 
准备:给类变量分配空间 给类变量赋默认值 重要
解析:引用替换
初始化:给类变量进行初始化 执行初始化代码或执行静态初始化代码块中的代码 重要
使用:在内存中使用类信息
卸载:将保存的类信息回收
c)类加载(进行到初始化阶段的)触发的时机: 重点
1)第一次创建对象时
2)第一次通过类名.静态属性/方法()的形式 调用静态成员时
3)子类类加载时 其父类如果没有被加载 则也会进行类加载
4)
备注:一般 称类加载的时机 就是进行到初始化阶段性的几种情况  因为类加载触发到初始化阶段之前的情况过于复杂 所以不讨论

类加载做的两件事:给类变量进行空间分配赋默认值 给类变量进行初始化

猜你喜欢

转载自blog.csdn.net/he19970408/article/details/107633146
今日推荐