一个关于getClassLoader()方法的问题!请大家多多帮助!
答案:3 悬赏:10 手机版
解决时间 2021-11-10 23:40
- 提问者网友:城市野鹿
- 2021-11-10 04:02
一个关于getClassLoader()方法的问题!请大家多多帮助!
最佳答案
- 五星知识达人网友:第幾種人
- 2021-11-10 04:58
首先,调用对象的getClass()方法是获得对象当前的类类型,这部分数据存在方法区中,而后在类类型上调用getClassLoader()方法是得到当前类型的类加载器,我们知道在Java中所有的类都是通过加载器加载到虚拟机中的,而且类加载器之间存在父子关系,就是子知道父,父不知道子,这样不同的子加载的类型之间是无法访问的(虽然它们都被放在方法区中),所以在这里通过当前类的加载器来加载资源也就是保证是和类类型同一个加载器加载的。
最后调用了类加载器的getResourceAsStream()方法来加载资源。
最后调用了类加载器的getResourceAsStream()方法来加载资源。
全部回答
- 1楼网友:纵马山川剑自提
- 2021-11-10 05:48
getClassLoader()是得到该类的类加载器
- 2楼网友:詩光轨車
- 2021-11-10 05:25
Class:getResourceAsStream(String name)
查找具有给定名称的资源。返回: InputStream
ClassLoader:getResourceAsStream(String name)
返回读取指定资源的输入流。返回: InputStream
虽然返回的类型是一样的,但这两个是不同类的对象的方法。你想要搞清楚他们的区别,先要搞懂Class与ClassLoader的作用追问 我现在这样理解,麻烦帮忙看看是否正确:
在JAVA中所有的类都是通过加载器进行加载的,我现在所知的有三个加载器(Bootstrap ClassLoader:负责加载核心JavaClass,Extension ClassLoader:负责加载扩张JavaClass,ApplicationClassLoader:加载应用程序类,当然后两个也是被第一个加载器加载),
查找具有给定名称的资源。返回: InputStream
ClassLoader:getResourceAsStream(String name)
返回读取指定资源的输入流。返回: InputStream
虽然返回的类型是一样的,但这两个是不同类的对象的方法。你想要搞清楚他们的区别,先要搞懂Class与ClassLoader的作用追问 我现在这样理解,麻烦帮忙看看是否正确:
在JAVA中所有的类都是通过加载器进行加载的,我现在所知的有三个加载器(Bootstrap ClassLoader:负责加载核心JavaClass,Extension ClassLoader:负责加载扩张JavaClass,ApplicationClassLoader:加载应用程序类,当然后两个也是被第一个加载器加载),
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯