关于AppClassLoader的findClass()方法
来源:6-6 ClassLoader的双亲委派机制
YogurtJ
2020-02-04
老师您好,在视频中有这样的一句话 “AppClassLoader去调用它自定的findClass方法去到他的ClassPath下面去找找,有没有这个类文件,有的话装载进来返回”
可是在我看AppClassLoader的源码的时候,没有看到它重写了findClass方法,那它又是怎么实现去它所要对应的目录下面去寻找 是否有 要寻找的.class文件呢?
如果直接用ClassLoader下面定义的findClass方法,不就抛出ClassNotFoundException了。
关于这里的疑惑,希望祥仔可以给予解答,非常感谢~
写回答
3回答
-
翔仔
2020-02-06
同学好,都在ClassLoaders这个类里面呢
private static class AppClassLoader extends BuiltinClassLoader { static { if (!ClassLoader.registerAsParallelCapable()) throw new InternalError(); }
这个写着的呢,同学用idea查找类,输入AppClassLoader就知道拉
10 -
YogurtJ
提问者
2020-02-06
老师您看下,是我的IDEA使用方法哪里有问题嘛...没能看到AppClassLoader.java ,只有AppClassLoader.class点进去了之后就是我说的继承自URLClassLoader了,没看到您这里的BuiltinClassLoader
022020-02-08 -
翔仔
2020-02-05
同学好,感兴趣可以看看BuiltinClassLoader的findClass方法,因为AppClassLoader extends BuiltinClassLoader,所以用它的findClass
012020-02-05
相似问题