用Class.forName("A")加载了一个类A进来以后,又重新修改了类A,有没有办法使系统能监控到A.class发生了,然后重新把类A加载进来,避免重新启动程序??
我试了修改了A.class后,再尝试Class.forName("A")是没什么效果的,只能重新启动程序

解决方案 »

  1.   

    一般来说,你可以使用一个特定自己写的ClassLoader来加载A这个类。当发现更新了以后就放弃原来的ClassLoader然后再加载类A就行。这个是一般应用服务器的做法 
    不过在Java Debug状态中,是可以动态替换已经加载的类而无需另外的ClassLoader。不知道在程序中是否可以做这样的工作。
      

  2.   

    http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=2474&threadID=26710&messageID=182817