直接上结论:
最后进行一个总结,Class.getResource和ClassLoader.getResource的区别,就是在加载资源文件的时候,加载方式的不同,
class.getResource("/") == class.getClassLoader().getResource("")
其实,Class.getResource和ClassLoader.getResource本质上是一样的,都是使用ClassLoader.getResource加载资源的。
Class.getResource真正调用ClassLoader.getResource方法之前,会先获取文件的路径(path不以’/‘开头时,默认是从此类所在的包下取资源;path以’/'开头时,则是从项目的ClassPath根下获取资源)。
ClassLoader.getResource方法会通过双亲委派机制,先委派双亲去加载类,如果双亲没有加载到,则再由自己加载。
本文解析了Class.getResource与ClassLoader.getResource在加载资源文件时的区别,强调了两者在加载方式上的不同,以及Class.getResource如何先获取文件路径并决定从何处加载资源。
1296

被折叠的 条评论
为什么被折叠?



