JVM第二篇 类加载子系统

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 双亲委派

双亲委派机制好处:

4.2 沙箱安全机制

相关推荐
dfdfadffa1 小时前
mysql如何排查网络延迟引起的数据库连接问题_使用ping测试
jvm·数据库·python
2303_821287381 小时前
JavaScript中Redux-Thunk处理异步Action的任务流
jvm·数据库·python
2301_782040452 小时前
JavaScript中类 Class 语法的可读性与维护性优势
jvm·数据库·python
2401_871492852 小时前
HTML函数在旧版Windows跑得动吗_系统版本与硬件协同影响【指南】
jvm·数据库·python
kexnjdcncnxjs2 小时前
如何利用宝塔面板进行数据迁移_使用宝塔整机备份功能
jvm·数据库·python
iuvtsrt2 小时前
C#怎么获取当前所在的函数名_C#如何使用MethodBase读取【代码】
jvm·数据库·python
_376271534 小时前
Cgo回调函数中处理 const char- 类型参数的正确方法
jvm·数据库·python
2301_809204704 小时前
如何用 Babel 将最新的 JS 特性转译为旧版浏览器兼容代码
jvm·数据库·python
夏恪4 小时前
golang如何实现滚动更新方案_golang滚动更新方案实现实战
jvm·数据库·python
2301_818008445 小时前
CSS如何让响应式图片在容器内居中_利用background-position
jvm·数据库·python