关于JAVA类加载大家发表一下见解吧
编译器加载类要依靠classloader, 而classloader有3个级别
从高到低分别是BootClassLoader(名字可能不准确) , ExtClassLoader, AppClassLoader.
这3个加载器分别对应着编译器去寻找类文件的优先级别和不同的路径:
BootClassLoader对应jre/classes路径,是编译器最优先寻找class的地方
ExtClassLoader对应jre/lib/ext路径,是编译器次优先寻找class的地方
AppClassLoader对应当前路径,所以也是编译器默认找class的地方
Class.forName(className);
Thread.currentThread().getContextClassLoader().loadClass(className)
两种方式优缺点大家发表下