类加载器原理
1:类的初始化,类什么时候进行初始化
1)创建实例,new一个对象
2)访问类或者接口的静态变量,或者对该静态变量赋值
3)调用类的静态方法
4)反射(Class.forName(“com.Dog”))
5)初始化父类的子类(会首先初始化子类的父类)
6)JVM启动时表明的启动类,main方法
类的加载
指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区,在堆区中创建一个这个类java.lang.Class对象,封装类在方法区类的对象
类的加载过程
加载(load):查找并加载类的二进制数据
链接(link):
验证:确保被加载类的正确性
准备:为类的静态变量分配内存,并将其初始化为默认值
解析:把类中的符号引用转换为直接引用
初始化(initialize):为类的静态变量赋予正确的初始值
类的加载
最新推荐文章于 2024-03-05 13:42:38 发布