如何动态重新加载一个类?

carven2003 2006-03-20 04:06:40
用Class.forName("A")加载了一个类A进来以后,又重新修改了类A,有没有办法使系统能监控到A.class发生了,然后重新把类A加载进来,避免重新启动程序??
我试了修改了A.class后,再尝试Class.forName("A")是没什么效果的,只能重新启动程序。。。
...全文
304 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sandyen 2006-03-20
  • 打赏
  • 举报
回复
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=2474&threadID=26710&messageID=182817
ChDw 2006-03-20
  • 打赏
  • 举报
回复
一般来说,你可以使用一个特定自己写的ClassLoader来加载A这个类。当发现更新了以后就放弃原来的ClassLoader然后再加载类A就行。这个是一般应用服务器的做法


不过在Java Debug状态中,是可以动态替换已经加载的类而无需另外的ClassLoader。不知道在程序中是否可以做这样的工作。

62,614

社区成员

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

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