类加载原理

2018-06-06  本文已影响0人  LynnGuo

类的加载
1.把类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.class文件
2.然后产生与所加载类对应的Class对象。加载完成后,Class对象还不完整,所以此时的类还不可用。
3.当类被加载后就进入连接阶段,这一阶段包括验证、准备(为静态变量分配内存并设置默认的初始值)和解析(将符号引用替换为直接引用)三个步骤

类的加载是由类加载器完成的,类加载器包括:
根加载器(BootStrap)、
扩展加载器(Extension)、
系统加载器(System)、
用户自定义类加载器(java.lang.ClassLoader的子类)

Bootstrap:一般用本地代码实现,负责加载JVM基础核心类库(rt.jar);
Extension:从java.ext.dirs系统属性所指定的目录中加载类库,它的父加载器是Bootstrap;
System:又叫应用类加载器,其父类是Extension。它是应用最广泛的类加载器。
它从环境变量classpath或者系统属性java.class.path所指定的目录中记载类,是用户自定义加载器的默认父加载器。
上一篇下一篇

猜你喜欢

热点阅读