Java类加载器Loader

类加载器ClassLoader
JVM定义把类加载阶段中的“通过类的全名称获取此类的二进制字节流”这种操作的实现模块叫做类加载器

class Member {}
public class Test {
    public static void main(String[] args) {
        Class<Member> cls = Member.class;
        System.out.println(cls.getClassLoader());
        System.out.println(cls.getClassLoader().getParent());
        System.out.println(cls.getClassLoader().getParent().getParent());//null
    }
}

Bootstrap(启动类加载器):使用C++实现,是JVM的一部分,启动类加载器负责存放于\lib目录中能被JVM识别;(仅按照文件名识别,rt.jar)
启动类加载器无法被JVM程序直接引用
ExtClassLoader(扩展类加载器):负责加载\lib\ext目录中的类库,使用Java语言实现,可以在程序中直接实现
AppClassLoader(应用程序类加载器):负责加载ClassPath的类库

猜你喜欢

转载自blog.csdn.net/ChenGX1996/article/details/81592547