黑马程序员技术交流社区
标题: 从反射到类加载器,一直被一个关于路径的问题困扰,求... [打印本页]
作者: 小黑子 时间: 2014-10-15 23:02
标题: 从反射到类加载器,一直被一个关于路径的问题困扰,求...
在学习反射的时候,我就通过实验发现:
Class对象.getClassLoader().getResourceAsStream()会得到一个默认路径:YourWorkSpacePath/YourProjectName/bin/
Class对象.getResourceAsStream()会得到一个默认路径:YourWorkSpacePath/YourProjectName/bin/YourPacketNamePath/
【注】YourWorkSpacePat为:你的工程路径
YourProjectName为:你的工程名
这一点在我的博客中做了详细介绍:http://quchunlin128.lofter.com/post/45428b_297a2df
但是我不明白其中的原理。它的更深一层,是由谁去得到这所谓的 “默认路径” 呢?
现在学习类加载器,又发现ClassLoader会有一个“默认路径” :YourWorkSpacePath/YourProjectName/
此默认路径是由编写自定义类加载器的代码推理出的。(因为将被加密的文件 encrypted.class放在YourWorkSpacePath/YourProjectName/itheimalib 路径下,当用自定义类加时器加载这个类时,只需传递一个itheimalib参数和一个encrypted参数,就可以找到encrypted.class。就像这样:Class cls = new MyClassLoader("itcastlib").loadClass(“encrypted");)
但是我不明白深层原理,有没有大神可以解答????:'(
作者: 小黑子 时间: 2014-10-16 06:44
有木有人知道??
作者: 小黑子 时间: 2014-10-16 16:31
貌似是木有人知道啊**
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |