对于JAVA的魅力所在,相信一定是在它的HOT DEPLOYMENT (热布署) 而这个概念一般会在J2EE中出现的非常多,主要一些修改,特别是逻辑层的修改能在不重启服务的情况下重新布署,甚至字节布署。
而实现这个功能的是JAVA中的一个CLASSLOADER,详细的理论, 可以在GOOGLE上查到不少,《JAVA深度历险》也是一本不错的书让你更了解JAVA内部到底在干什么。
简单来说JAVA有两种LOADER,一种是BOOTSTRAP LOADER,也就是由JVM中的机器码完成,而另一种则由一个父CLASSLOADER的唯一类所形成的。也就是说,你可以通过CLASSLOADER去读取在任何地方的CLASS,甚至动态生成一个CLASS都是可能的。
这是SUN,一个系统架构为主流的公司,不喜欢从底层来说明问题的公司。也许也是为了保护自己的产品,只让你会使用就够了。而我想将来的JDK7,CONSUMER版本也许就是利用这种方式来实现增量下载来完成桌面的巨大的JRE。
而我实在等不及了,另一方面可以更进一步的了解CLASSLOADER的工作方式。对于目前的小JRE+SWT的程序已经能够让用户较为接受,然后再利用JAVA的CLASSLOADER 的能力,使程序像具有生命,不断的成长。


Leave a reply