在程序中怎样重新加载类啊? 有点不明白你要的是什么效果。】我的理解是:可以设计一个用于判断的方法来判断版本,该方法包含一个判断版本的标志。然后在run-time根据标志来重新将引用定位到你需要版本的类。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是一个很简单的问题。你需要自己用URLClassLoader把你要的类加载进来,或者你也可以用你自己写的ClassLoader. 看看下面这个东东你就明白了http://www-106.ibm.com/developerworks/edu/j-dw-javaclass-i.html?S_TACT=105AGX02&S_CMP=EDU 把你的类import进来就可以了! 这样讲吧,将class放在一个数据块中传送,数据块本身带有版本属性,在接收端将数据块拼起来,构造出程序并运行。由于数据不停传送,有可能更新。这样就需要替换以前数据块中传过来的类。我已经知道这个好像不能做到。因为java spec上说class unload的虚拟机实现是可选的,而reload又必须先unload再load。目前只有少数虚拟机可以unload,reload. >>因为java spec上说class unload的虚拟机实现是可选的,这句话没错>>而reload又必须先unload再load。这就好像不对了。目前几乎所有的JVM都有支持reload的。通常你把所有对某个Class的可达(reachable)引用消除之后,把Classloader也给释放掉,那么这个Class就可以被gc。Tomcat,WebLogic这些AppServer为什么可以再不重新启动的情况下部署一个servlet,也可以undeploy一个servlet,还可以替换一个servlet,就是这个原因,AppClassloader代理了对WebApp下面的所有的类的加载。ClassLoader是树形的向上查找的,如果你在App Server classpath里的类被你的WebApp用到,那么WebApp先找App classloader,没找到,然后才找System Classloader.如果是java的核心类,那就是Bootstrap加载的啦,那是一个用C写的本地classloader. 你的这种需求很常见的,你看看这个文章,很简单的http://www-106.ibm.com/developerworks/edu/j-dw-javaclass-i.html?S_TACT=105AGX02&S_CMP=EDU jdbc无法连接数据库,相当诡异 线程管理的问题? 要求同时做B/S和C/S的界面,还要求程序模块化,现在正在为选择技术而犯愁 jxl的一个BUG还是 还是有其他写法 关于strSQL="select top ? * from table1"; 的错误问题 100分求一网络数据传输方案 在jtable里 找到要找的对象怎样找它显为第一条? 新手学习jsp用什么工具啊、 请教一个问题 初学者:(急!!)JRun配置的一些问题 讨论:关于在JSP页面用标签直接访问数据库的优缺点 谁知道用java语言得到硬盘序列号?急,在线等!!!!
http://www-106.ibm.com/developerworks/edu/j-dw-javaclass-i.html?S_TACT=105AGX02&S_CMP=EDU
我已经知道这个好像不能做到。因为java spec上说class unload的虚拟机实现是可选的,而reload又必须先unload再load。目前只有少数虚拟机可以unload,reload.
这句话没错>>而reload又必须先unload再load。
这就好像不对了。目前几乎所有的JVM都有支持reload的。
通常你把所有对某个Class的可达(reachable)引用消除之后,把Classloader也给释放掉,那么这个Class就可以被gc。Tomcat,WebLogic这些AppServer为什么可以再不重新启动的情况下部署一个servlet,也可以undeploy一个servlet,还可以替换一个servlet,就是这个原因,AppClassloader代理了对WebApp下面的所有的类的加载。ClassLoader是树形的向上查找的,如果你在App Server classpath里的类被你的WebApp用到,那么WebApp先找App classloader,没找到,然后才找System Classloader.如果是java的核心类,那就是Bootstrap加载的啦,那是一个用C写的本地classloader.
http://www-106.ibm.com/developerworks/edu/j-dw-javaclass-i.html?S_TACT=105AGX02&S_CMP=EDU