public class StackStruTest { public static void main(String[] args) { // 对用户自定义个类来说:默认使用系统类加载器进行加载-----AppClassLoader ClassLoader classLoader = StackStruTest.class.getClassLoader(); System.out.println(classLoader); // 获取其上层:扩展类加载器 -------ExtClassLoader ClassLoader extClassLoader = classLoader.getParent(); System.out.println(extClassLoader); // 获取其上层:获取不到引导类加载器---bootStrapClassLoader ----- 但是获取不到的所以是null ClassLoader bootstrap = extClassLoader.getParent(); System.out.println(bootstrap); // 么的了,所以会报错 ClassLoader --- = bootstrap.getParent(); System.out.println(---); }}
抽象类
getParent():返回该类的超类加载器loadClass(String name):查找name的类,返回结果为Java.lang.class类的实例findClass(String name):查找name的类,返回结果为java.lang.class类的实例findLoadedCLass(String name):查找name的已经被加载过的类,返回结果为Java.lang.class类的实例defineClass(String name, byte[]b, int off, int len):把字节数组b中的内容转换为一个Java类,返回结果为Java.lang.Class类的实例resolveClass(Class<?>c),连接指定的java类
class.getClassLoader()Threa.currentThread().getContextClassLoader()ClassLoader.getSystemClassLoader()DriveManager.getCallerClassLoader()
来源:https://www.icode9.com/content-4-699551.html
联系客服