标签:自定义 not class 实现 bsp exception pat public throws
最顶层的类加载器,它是由C++编写,主要负责JVM的核心类库的加载,例如java.lang包。
第二层类加载器,父加载器当然就是bootstrap,主要是加载jre\lb\ext子目录里面的类库。
第三层类加载,父加载器是扩展类加载器,主要负责加载classpath下的类库。
父加载器默认是系统类加载器。而需要实现自己的类加载器,需要继承ClassLoad抽象类。
1 public class MyClassLoader extends ClassLoader{ 2 @Override 3 protected Class<?> findClass(String name) throws ClassNotFoundException{ 4 //从磁盘中读取class的二进制数据 5 byte[] classBytes = this.readClassBytes(name); 6 //如果数据为null则抛出ClassNotFoundException异常 7 if (null == classBytes || classBytes.length == 0) { 8 throw new ClassNotFoundException(); 9 } 10 //调用defineClass方法定义class 11 return this.defineClass(name, classBytes, 0, classBytes.length); 12 } 13
标签:自定义 not class 实现 bsp exception pat public throws
原文地址:https://www.cnblogs.com/huangwenhao1024/p/14232301.html