Skip to content

Commit c887e03

Browse files
authored
Update 类加载器.md
1 parent ccdea6c commit c887e03

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

docs/java/jvm/类加载器.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
1717
## 回顾一下类加载过程
1818

19-
类加载过程:**加载->连接->初始化**。连接过程又可分为三步:**验证->准备->解析**
19+
类加载过程:**加载->连接->初始化**。连接过程又可分为三步**验证->准备->解析**
2020

2121
![类加载过程](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/类加载过程.png)
2222

@@ -30,7 +30,7 @@ JVM 中内置了三个重要的 ClassLoader,除了 BootstrapClassLoader 其他
3030

3131
1. **BootstrapClassLoader(启动类加载器)** :最顶层的加载类,由C++实现,负责加载 `%JAVA_HOME%/lib`目录下的jar包和类或者或被 `-Xbootclasspath`参数指定的路径中的所有类。
3232
2. **ExtensionClassLoader(扩展类加载器)** :主要负责加载目录 `%JRE_HOME%/lib/ext` 目录下的jar包和类,或被 `java.ext.dirs` 系统变量所指定的路径下的jar包。
33-
3. **AppClassLoader(应用程序类加载器)** :面向我们用户的加载器,负责加载当前应用classpath下的所有jar包和类。
33+
3. **AppClassLoader(应用程序类加载器)** 面向我们用户的加载器,负责加载当前应用classpath下的所有jar包和类。
3434

3535
## 双亲委派模型
3636

@@ -60,7 +60,7 @@ The Parent of ClassLodarDemo's ClassLoader is sun.misc.Launcher$ExtClassLoader@1
6060
The GrandParent of ClassLodarDemo's ClassLoader is null
6161
```
6262

63-
`AppClassLoader`的父类加载器为`ExtClassLoader`
63+
`AppClassLoader`的父类加载器为`ExtClassLoader`
6464
`ExtClassLoader`的父类加载器为null,**null并不代表`ExtClassLoader`没有父类加载器,而是 `BootstrapClassLoader`**
6565

6666
其实这个双亲翻译的容易让别人误解,我们一般理解的双亲都是父母,这里的双亲更多地表达的是“父母这一辈”的人而已,并不是说真的有一个 Mother ClassLoader 和一个 Father ClassLoader 。另外,类加载器之间的“父子”关系也不是通过继承来体现的,是由“优先级”来决定。官方API文档对这部分的描述如下:

0 commit comments

Comments
 (0)