1, 概述
1.1 类加载器的作用:
将 Class 文件加载到 JVM 内存中, 并生成对应的 java.lang.Class 对象;
1.2 一旦一个类被加载到 JVM 内存中, 它将不再被加载, 如何确定一个类的唯一性?
在 JVM 中, 通过 类本身 和 加载该类的类加载器 一同确定类的唯一性;
1.3 在 JVM 启动时, 会形成由 3 个类加载器 组成的 初始类加载器层次结构:
1.3.1 Bootstrap ClassLoader
a, 被称为 引导 (原始, 根) 类加载器;
b, 负责 加载 Java 的核心类库;
c, 此类加载器比较特殊, 不是 java.lang.ClassLoader 的子类, 由 JVM 自身实现;
d, 查看 根类加载器加载哪些核心类库?
- package com.an.classloader;
- import sun.misc.Launcher;
- import java.NET.URL;
- public class BootstrapClassLoaderTest {
- public static void main(String[] args){
- URL[] urLs=Launcher.getBootstrapClassPath().getURLs();
- for (URL url:urLs){
- System.out.println(url);
- }
- }
- }
结果:
- file:/D:/Program%20Files/Java/jdk1.8.0_201/jre/lib/resources.jar
- file:/D:/Program%20Files/Java/jdk1.8.0_201/jre/lib/rt.jar
- file:/D:/Program%20Files/Java/jdk1.8.0_201/jre/lib/sunrsasign.jar
- file:/D:/Program%20Files/Java/jdk1.8.0_201/jre/lib/jsse.jar
- file:/D:/Program%20Files/Java/jdk1.8.0_201/jre/lib/jce.jar
- file:/D:/Program%20Files/Java/jdk1.8.0_201/jre/lib/charsets.jar
- file:/D:/Program%20Files/Java/jdk1.8.0_201/jre/lib/jfr.jar
- file:/D:/Program%20Files/Java/jdk1.8.0_201/jre/classes
- 1.3.2 Extensio
来源: http://www.bubuko.com/infodetail-3093192.html