Oracle收购Sun公司之后手上就有了两大JVM,众所周知Java之所以拥有夸平台的能力这些全部仰仗于JVM的功劳。而目前最优修的JVM有三家,Sun的Hotspot,BEA的JRockit,还有就是IBM的IBM VM。之前由于Oracle收购了BEA,因此Oracle拥有了JRockit,而之后Oracle再次收购了Sun于是Oracle再次拥有了Hotspot。由于Hotspot与JRockit截然不同的设计和经营的原因Oracle不可能长久同时支持两种JVM的存在。那Oracle是否会在鱼与熊掌之间做出选择呢?答案当然是否定的,Oracle此次貌似是想将JRockit/Hotspot进行集成取其精华。下面是Sun前雇员Mark Reinhold的一段描述:
目前Oracle有两个JVM,一个是JRockit,这是两年前收购BEA Systems时得到的;另一个则是Sun的Hotspot VM,这是前不久收购Sun时得到的。在上个月举行的Sun-Oracle未来路线图会议上,Oracle的管理团队表示要合并这两个项目。Oracle 首席工程师、Sun前雇员Mark Reinhold最近在Blog上透露该合并计划“仍在进行当中”,为此也“召开了很多会议”。
Reinhold说到:
从长期的合并计划来看,目前很难对这二者作出取舍。现在我们还不会停止这两个JVM的开发工作,因为有很多客户的产品是运行在这两个JVM之上并且使用了每个JVM独有的特性。我们可不想搞出什么震荡,那样只会把系统搞死,但还是衷心希望未来能有JVM一统天下。
Reinhold说这个计划至少还需要一年半到两年的时间才能成行。
这两个JVM各具优缺点,因此最好的方式还是取其净化,弃其糟粕。Reinhold说“在Oracle内,无论是工程团队还是管理团队都在尽最大努力找出每个JVM的优点”。他接着说到:
坦率地说,我们这几年一直在嫉妒JRockit中的某些特性,其任务控制特性就非常棒。
而HotSpot的性能优势是比较明显的,他说到“我们对HotSpot代码基,尤其是server编译器的印象是其有很多的head room,这是一个更加复杂的系统”。
前几个月我们一直在学习JRockit,这真是一段令人难忘的时光。JRockit绝对是世界一流的VM,但其内部却是那么的不同。JRockit和HotSpot各具优势,因此我们将要创建一个非常帅的项目——综合JRockit和HotSpot各自的优势。
Reinhold推测合并后的VM将使用JRockit的垃圾回收器与服务功能,使用HotSpot的运行时编译器与混合的运行时系统。
在Blog中,Reinhold还提到了JDK 7的模块化特性(模块化可以让Java更有效地进入到小型设备领域)、通过invokeDynamic实现的多语言能力以及通过Project Coin提升Java语言本身的生产力。开发者应该玩玩Jigsaw,而openJDK Build 88则将于下月中旬发布。
摘自:infoq
[ad#468-60]