背景
标题起的挺大,忽悠人的。其实是我跟着视频学习手写模拟spring底层原理中遇到的问题,关于classLoader的几行代码,不知道是什么意思,所以特地来记下笔记。
关于ClassLoader我好像在遥远的几年前看深入理解虚拟机时看到过,只记得什么双亲委派策略啥的,但是都忘了。今天我搜了搜资料,我发现我对这个还是一知半解,加上近几年工作的沉淀,感觉像俄罗斯套娃一样,涉及面太广,不了解的名词太多,总之并没有完全消化,这里先列一个todo,后续在详细学习。
这一篇文章关于classLoader写的特别好,推荐一下:https://blog.csdn.net/ss810540895/article/details/124570569
今天我就只是简单的知道这几行代码是什么意思就可以啦~
正文
先上代码
我主要不理解的打断点的是这两行
为什么125行的入参path是com/bry/service,就能直接获取到文件?
为什么136行,获取到一个类的路径,就能获取到这个类?
1、classLoader.getResource(String path)
path为相对ClassPath的路径,从ClassPath根下获取,不能以“/”开头
todo 还是搞不懂,classLoader到底怎么找的对应的文件
2、classLoader.loadClass(String path)
它接受一个全类名,然后返回一个 Class 类型的实例
只执行了类加载的第一个阶段loading 获得Class对象后就返回了。
先开个头,这篇文章太水啦~
越看不会的知识点越多,感觉像一团迷雾