类加载器
类加载器的作用:
将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区运行时的数据结构,然后再堆中生成一个代表这个类的java.lang.Class对象,作为方法区中类书的访问入口
package com.caster.reflect;
//类加载器
public class demo06 {
public static void main(String[] args) throws ClassNotFoundException {
//获取系统类的加载器
ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
System.out.println(systemClassLoader);
//获取系统类的父类加载器(扩展加载器)
ClassLoader parent = ClassLoader.getSystemClassLoader().getParent();
System.out.println(parent);
//获取扩展类加载器的父类加载器(根加载器c/c++)
ClassLoader parentParent = parent.getParent();
System.out.println(parentParent);
//测试当前类时哪个加载器加载的
Class c1 = Class.forName("com.caster.reflect.demo06");
System.out.println(c1.getClassLoader());
//测试jdk内置类时岁加载的
ClassLoader classLoader = Class.forName("java.lang.Object").getClassLoader();
System.out.println(classLoader);
//双亲委派机制
//如何获取系统类加载器可以加载的路径
System.out.println(System.getProperty("java.class.path"));
/*
F:\IDEAData\JavaSE\out\production\Java基础语法;
F:\IDEAData\JavaSE\Java基础语法\src\com\caster\lib\commons-io-2.8.0.jar
*/
}
}
```