JVM主要包含两个模块,类加载子系统和执行引擎,本篇博客将类加载子系统做一下梳理总结。
目录
[1. 类加载子系统功能](#1. 类加载子系统功能)
[2. 类加载子系统执行过程](#2. 类加载子系统执行过程)
[2.1 加载](#2.1 加载)
[2.2 链接](#2.2 链接)
[2.3 初始化](#2.3 初始化)
[3. 类加载器分类](#3. 类加载器分类)
[3.1 引导类加载器](#3.1 引导类加载器)
[3.2 自定义加载器](#3.2 自定义加载器)
[3.2.1 自定义加载器实现步骤编辑](#3.2.1 自定义加载器实现步骤编辑)
[4. 类加载器特性](#4. 类加载器特性)
[4.1 双亲委派](#4.1 双亲委派)
[4.2 沙箱安全机制](#4.2 沙箱安全机制)
1. 类加载子系统功能
2. 类加载子系统执行过程
2.1 加载
解析class文件的常用工具(字节码工具)
2.2 链接
2.3 初始化
代码演示:
说明:每个类只能被加载一次
3. 类加载器分类
总的来说java支持两种类加载器,引导类加载器和自定义加载器
代码演示获取类加载器
3.1 引导类加载器
3.2 自定义加载器
代码演示:
3.2.1 自定义加载器实现步骤
代码演示:
ClassLoader类介绍:
4. 类加载器特性
4.1 双亲委派
双亲委派机制好处: