描述一下 JVM 加载 class
1. 类加载器包括:根加载器(BootStrap)、扩展加载器(Extension)、系统加载器(System)和用户自定义类加载器(java.lang.ClassLoader的子类)。
Bootstrap:一般用本地代码实现,负责加载 JVM 基础核心类库(rt.jar);
Extension:从 java.ext.dirs 系统属性所指定的目录中加载类库,它的父加载器是 Bootstrap;
System:又叫应用类加载器,其父类是 Extension。它是应用最广泛的类加载器。它从环境变量 classpath
2. 类的加载是指把类的.class文件中的数据读入到内存中,然后产生与所加载类对应的 Class 对象。当类被加载后就进入连接阶段,这一阶段包括验证、准备(为静态变量分配内存并设置默认的初始值)和解析(将符号引用替换为直接引用)三个步骤。
3. 父亲委托机制: 如果缓存没有,则先从 Bootstrap -> Extension -> System -> Customer
简述一下 JVM 加载 class
最新推荐文章于 2024-05-02 16:05:18 发布