xxx.getClass().getClassLoader()或者xxxxx.class.getClassLoader()为null的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ypp91zr/article/details/82460347

今天在读取properties文件的时候,在getClassLoader()的时候获取一直null,导致一直报空指针

主要原因是:JVM的机制是自上而下加载,自下而上检查

最开始是由BootStrap ClassLoader加载rt.jar下的文件,也就是java最最核心的部分;然后由Extension ClassLoader加载ext下的文件;再有App ClassLoader加载用户自己的文件。

由于BootStrap ClassLoader是用c++写的,所以在返回该ClassLoader时会返回null。显然,Class为java.lang.Class,是rt.jar中的,由BootStrap ClassLoader加载,所以返回null

结局办法:

用自己编写的类去调用。比如当前自己的类是PropertiesUtils.就用它去加载ClassLoader.即PropertiesUtils.class.getClassLoader()返回的就不是null了

猜你喜欢

转载自blog.csdn.net/ypp91zr/article/details/82460347
今日推荐