请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

findClass()问题:

源码里的if(c==null){…c=findClass();…},这段代码中的findClass()为什么会先后从顶层的classLoader一直调用到自定义classLoader中findClass()呢

正在回答 回答被采纳积分+3

1回答

翔仔 2019-02-20 11:08:10

同学好,这个可以结合视频里所讲的加载步骤,结合源码去看看,才比较好理解,这里一句两句也描述不清楚,代码写得是比较清楚的了,学会分析代码是工作必备的知识,一定得锻炼出来:)

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_灬Mamba磊_0 #1
    我又梳理了一下,应该是上面的 if (parent != null) {
                            c = parent.loadClass(name, false);
                        } else {
                            c = findBootstrapClassOrNull(name);
                        }这部分代码已经调用了parent的LoadClass的方法了,在parent执行LoadClass方法的时候,执行了对应的if(c==null){…c=findClass();…}这段代码,这个流程是否正确呢?老师
    回复 有任何疑惑可以回复我~ 2019-02-20 11:57:44
  • 翔仔 回复 提问者 qq_灬Mamba磊_0 #2
    大致意思是正确的,可以按照这个http://blog.jobbole.com/96145/ 去看看
    回复 有任何疑惑可以回复我~ 2019-02-20 12:50:40

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信