JVM第二篇 类加载子系统

JVM主要包含两个模块,类加载子系统和执行引擎,本篇博客将类加载子系统做一下梳理总结。

目录

1. 类加载子系统功能

2. 类加载子系统执行过程

2.1 加载

2.2 链接

 2.3 初始化

 3. 类加载器分类

 3.1 引导类加载器

 3.2 自定义加载器

 3.2.1 自定义加载器实现步骤​编辑

 4. 类加载器特性

4.1 双亲委派

4.2  沙箱安全机制


1. 类加载子系统功能

JVM第二篇 类加载子系统_第1张图片

JVM第二篇 类加载子系统_第2张图片

2. 类加载子系统执行过程

JVM第二篇 类加载子系统_第3张图片

2.1 加载

JVM第二篇 类加载子系统_第4张图片

 JVM第二篇 类加载子系统_第5张图片

解析class文件的常用工具(字节码工具)

2.2 链接

JVM第二篇 类加载子系统_第6张图片

 2.3 初始化

JVM第二篇 类加载子系统_第7张图片

代码演示:

JVM第二篇 类加载子系统_第8张图片

JVM第二篇 类加载子系统_第9张图片

说明:每个类只能被加载一次

 JVM第二篇 类加载子系统_第10张图片

JVM第二篇 类加载子系统_第11张图片

 3. 类加载器分类

    总的来说java支持两种类加载器,引导类加载器和自定义加载器

 JVM第二篇 类加载子系统_第12张图片

 JVM第二篇 类加载子系统_第13张图片

JVM第二篇 类加载子系统_第14张图片

 代码演示获取类加载器

JVM第二篇 类加载子系统_第15张图片

JVM第二篇 类加载子系统_第16张图片

 3.1 引导类加载器

JVM第二篇 类加载子系统_第17张图片

 3.2 自定义加载器

JVM第二篇 类加载子系统_第18张图片

 JVM第二篇 类加载子系统_第19张图片

 JVM第二篇 类加载子系统_第20张图片

代码演示:
 JVM第二篇 类加载子系统_第21张图片

JVM第二篇 类加载子系统_第22张图片

 3.2.1 自定义加载器实现步骤JVM第二篇 类加载子系统_第23张图片

 代码演示:

JVM第二篇 类加载子系统_第24张图片

 ClassLoader类介绍:

JVM第二篇 类加载子系统_第25张图片

 JVM第二篇 类加载子系统_第26张图片

 JVM第二篇 类加载子系统_第27张图片

 4. 类加载器特性

4.1 双亲委派

JVM第二篇 类加载子系统_第28张图片

JVM第二篇 类加载子系统_第29张图片

 JVM第二篇 类加载子系统_第30张图片

 JVM第二篇 类加载子系统_第31张图片

 JVM第二篇 类加载子系统_第32张图片

 双亲委派机制好处:

JVM第二篇 类加载子系统_第33张图片

4.2  沙箱安全机制

JVM第二篇 类加载子系统_第34张图片

 JVM第二篇 类加载子系统_第35张图片

 JVM第二篇 类加载子系统_第36张图片

JVM第二篇 类加载子系统_第37张图片

 

你可能感兴趣的:(JVM,java,jvm)