1. getClass().getResource()

2. ClssLoader.getSystemResource()

ClssLoader.getSystemResource(path)更简单,它等价getSystemClassLoader().getResource(path),衔接上面的第三步。

3. 总结

也就是说,不管是类对象的getResource()还是类加载器的getSystemResouce(),都是走的类加载器的getResource(),类加载器会搜索自己的加载路径来匹配寻找项。而最常用的类加载器就是AppClassLoader,又因为APPClassLoader的加载路径是classpath,所以网上文章一般都会说getClass().getResouce()是返回classpath,这是不够准确的。

04-13 15:33