Skip to content

Commit 61fa045

Browse files
Update classloader.md
判断一个类加载器是不是被BootstrapClassLoader 加载的,应该使用XXXClaissLoader.getClass().getClassLoader()是不是为null来判断,getParent()只是获取类加载器在委派链中的父类加载器,两个是不同概念。我可以自定义一个类加载器,通过new MyClassLoader(null)主动设置parent为null打破双亲委派。但是我的MyClassLoader这个类是被AppClassLoader加载的。
1 parent 93c6cdd commit 61fa045

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

docs/java/jvm/classloader.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ JVM 中内置了三个重要的 `ClassLoader`:
101101

102102
除了 `BootstrapClassLoader` 是 JVM 自身的一部分之外,其他所有的类加载器都是在 JVM 外部实现的,并且全都继承自 `ClassLoader`抽象类。这样做的好处是用户可以自定义类加载器,以便让应用程序自己决定如何去获取所需的类。
103103

104-
每个 `ClassLoader` 可以通过`getParent()`获取其父 `ClassLoader`,如果获取到 `ClassLoader``null`的话,那么该类是通过 `BootstrapClassLoader` 加载的
104+
每个 `ClassLoader` 可以通过`getParent()`获取其父 `ClassLoader`,如果获取到 `ClassLoader``null`的话,那么该类加载器的父类加载器是 `BootstrapClassLoader`
105105

106106
```java
107107
public abstract class ClassLoader {

0 commit comments

Comments
 (0)