一、CLASSPATH的作用
二、类加载器详解
public class Main { public static void main(String[] args) { Class<?> clazz = Message.class; System.out.println(clazz.getClassLoader()); System.out.println(clazz.getClassLoader().getParent()); System.out.println(clazz.getClassLoader().getParent().getParent()); } } class Message{ }
运行结果:
这是JDK1.8, 在JDK1.9之前都为扩展类加载器,即ExtClassLoader,在JDK安装目录中有一个ext目录,直接将*.jar文件拷贝到该目录就可以执行了,但是这样的处理开发并不安全,之前也不建议使用,所以在JDK1.9之后完全废除了。JDK1.9之后为“PlatformLoader”。
三、自定义类加载器
所有操作都完成之后,才会执行自定义的加载器,永远放在最后。
为什么要用自定义的加载器?
因为系统类加载器都是根据CLASSPATH找到的路径进行类加载,自定义的加载器能够自定义路径进行类加载。
注:初学者,写的不好请见谅,如有相关问题记得私信我