A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在学习反射的时候,我就通过实验发现:
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");
但是我不明白深层原理,有没有大神可以解答????:'(





2 个回复

倒序浏览
有木有人知道??
回复 使用道具 举报
貌似是木有人知道啊**
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马