设置ClassLoader

bennycen 2003-12-18 09:31:05
help,各位大哥大街,小弟我自己编写了类加载器,但我不知道怎样将我的类加载器设置成系统默认的类加载器,不胜感激.
...全文
75 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
camelxz 2004-03-19
  • 打赏
  • 举报
回复
IBM网站有这样一篇文章:
http://www-900.ibm.com/developerWorks/cn/java/l-secureclass/index.shtml#5
其上说到了如何自己写一个ClassLoader并使用它,他说的是自己写一个CostomClassLoader类继承ClassLoader,并重载其中的LoadClass等方法,然后用
java CustomClassLoader arg0...
这样就可以使用你的CustomClassLoader了。

但是我觉得这样只是在jvm上运行了CustomClassLoader,CustomClassLoader里面使用重载后的LoadClass方法再去加载了其它的类。并不是让CustomClassLoader替换了JVM中的ClassLoader类。
如果是当java app (app是任何一个普通java类)时,jvm都是使用CustomClassLoader来加在app类时,这样才叫JVM使用了“CustomClassLoader”,不知你的问题是不是问的后面这种情况下的“使用自己的ClassLoader”,如果是,我也想知道答案,知道答案了记得也告诉我。

^-^
Danger2000 2004-03-19
  • 打赏
  • 举报
回复
up
chashui 2003-12-19
  • 打赏
  • 举报
回复
帮你UP
lapwing2002 2003-12-19
  • 打赏
  • 举报
回复
JVM在运行时会产生三个ClassLoader,Bootstrap ClassLoader、Extension ClassLoader和AppClassLoader.其中,Bootstrap是用C++编写的,我们在Java中看不到它,是null。它用来加载核心类库。Extension ClassLoader用来加载扩展类,即/lib/ext中的类。最后AppClassLoader才是加载Classpath上的类的。
当类载入器载入类时,它会按照继承体系从最上层的类向下依次载入,直到所有的父类都被载入,再轮到自己。
所以当加载系统核心类库和扩展库时,你编写的ClassLoader是不会先于Bootstrap ClassLoader、Extension ClassLoader的。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧