1阶段——Java JIT编译器之战

Borland也许不是最晚开始研发Java技术的厂商,但是开始时明显地落后于其他竞争对手则是不争的事实。BorlandLatté万事尚未具备的情形下,展开Java竞赛的第一步便是从Borland传统的拿手绝活开始,那就是从Java JIT编译器开始出发。不过由于当时对于Java技术尚未深入掌握,因此一开始是和Pascal的祖师爷Dr. Niklaus Worth合作,由Dr. Niklaus Worth以及他的学生们为Borland研发Java JIT编译器,而Borland本身的Latté小组则平行地开发Latté其他的功能。由于当时Java已经逐渐在校园流行,而且吸引了许多学术研究机构的兴趣,Dr. Niklaus Worth以及他的学生们很早便开始投入Java相关的研究。因此当Borland找上门之后,自然一拍即合。Borland缩短了开发时程,而Dr. Niklaus Worth研究小组则乐得有人赞助研发费用。

Dr. Niklaus Worth研究小组的第一个作品就是在1997年初左右推出的Java JIT编译器,这个由Dr. Niklaus Worth研究小组研发的JIT编译器可以让编译后的Java ByteCode执行速度比当时SUNJava编译器以及SymantecJIT编译器快了数倍。Borland宣布此JIT编译器之后立刻震惊了Java界,因为当时缓慢的Java执行速度是所有使用Java的人都希望能够立刻大幅改善的。而Borland推出的Java JIT编译器似乎给所有Java开发人员看到了希望。虽然严格地说当时即使是使用Borland最新的JIT编译器编译Java程序,其执行速度仍然是很“龟速”的,但是对于使用Java来学习程序设计或是撰写、执行一些小的Applet来说仍然是很好用的。因此当Borland一推出此JIT编译器之后,便立刻打响了BorlandJava界的知名度,所有Java开发厂商也开始视Borland为认真的竞争对手。否则以当时Borland在业界的影响来看,除了Delphi之外,几乎已经一无所有了。

BorlandJava应用领域的处女作Java JIT编译器一炮而红,立刻吸引了当时浏览器霸主Netscape的注意。由于当时Netscape大力支持Java以便和Microsoft竞争,因此非常需要有品质精良的Java JIT编译器内建在Netscape之中,以顺利且快速地执行Java Applet,增加Netscape的竞争力和吸引力,突显与Microsoft IE的不同。不久之后Netscape便找上了Borland,希望能够在Netscape中附带BorlandJava JIT编译器。

对于Borland来说,这又是一个千载难逢的机会。因为这不但证明了BorlandJava技术领域取得了成果,更重要的是Netscape在当时是不可一世的软件公司,全世界有数百万的使用者。这意味着一旦Netscape内建BorlandJava JIT编译器,Borland在全世界将立刻拥有数百万的Latté潜在使用者,对于Borland来说是好得不能再好的条件了。因此立刻答应了Netscape的提议,让Netscape搭配BorlandJava JIT编译器。但是这一举动也立刻牵一发而动全身,进而引发了Java JIT编译器的大混战。

NetscapeBorland达成了协议并且开始出货之后,却引起了Symantec的忧虑和不满。因为当时SymantecJava开发工具的老大,而Borland连个Java开发工具都尚未推出,可是Netscape却跑去使用BorlandJava JIT编译器,这不是让全世界都知道Borland的实力并且让Symantec脸上无光吗?为了颜面以及避免失去Java开发工具的市场,很快Symantec便决定开始反击。立刻也集中资源投入Java JIT编译器的研发,开发出比Borland Java JIT编译器更快的Symantec JIT编译器,并且准备开发一个直接把Java ByteCode编译成原生Windows程序代码的Java编译器。就在Borland Java JIT编译器风光不久之后,Symantec也宣布了新的Java JIT编译器。SymantecJava JIT编译器比Borland Java JIT编译器更有效率,编译后的Java ByteCode执行效率比Borland的快了2~3倍。

Symantec Java JIT编译器宣布之后,又轮到Borland脸上无光了。才刚和Netscape谈好合作条件,没有想到效率王位还没坐热就立刻被Symantec踢了下来,这如何向Netscape交待?因此Borland立刻进行改善JIT编译器的研发工作,力图再次超越Symantec。果然Borland的努力没有白费,不久之后BorlandJIT编译器又打破了Symantec JIT编译器创下的效率记录。自此BorlandSymantec便展开了Java JIT编译器的“竞速”比赛,不断地试图打败对方。也由于BorlandSymantecJIT竞赛,当然更重要的原因是Java的执行速度在当时实在是太过缓慢,引起了IBMMicrosoft以及SUNJava编译器方面的研究。

Symantec在当时不愧是Java开发工具的王者,在和Borland几次的JIT编译器交手之后,便开始逐渐地占了上风。由Dr. Niklaus Worth研究小组研发的Java JIT编译器也逐渐不再是Symantec的对手。至此Borland决定收回Java编译器的技术研究权,开始自行研发。Borland发觉光是和SymantecJava JIT编译器竞争没有多大用处,当务之急是赶快推出自己的Java开发工具。因此决定退出和SymantecJava JIT编译器的竞赛,以求全速催生Latté。Borland退出JIT编译器的第一阶段竞争造成的影响是不久之后Netscape便不再使用BorlandJava JIT编译器,改为使用SymantecJava JIT编译器。至此Symantec终于获得了JIT编译器第一阶段的胜利,保住了Java开发工具第一厂商的颜面。但是Symantec真的获胜了吗?那可还言之过早,因为JIT编译器战争才刚开始。

SymantecJava JIT编译器打败了BorlandJIT编译器之后,Symantec便把脑筋动到了SUN的身上,希望SUN也能够使用SymantecJava JIT编译器,把Symantec推向Java核心技术的领导厂商宝座。不过Symantec的盘算显然是落空了,因为SUN已经决定收购一家专门研发Java编译器技术的软件公司,并且准备开发自己的JIT编译器,那就是后来的SUN HotSpot编译器技术。另外MicrosoftIBM也开始加入了Java JIT编译器的竞赛之列。IBM为了和SUN争夺Java领导者的地位,不但自己研发IBMJDK,甚至也研发IBMJava JIT编译器。严格地说,当时IBMJava JIT编译器品质比SUN提供的好多了,不但稳定而且执行速度比SUN的快了许多,让SUN也颜面无光,很不是滋味。甚至可以说IBMJava JIT编译器品质不会比SymantecJava JIT编译器差到哪里。

更麻烦的是Microsoft为了让IE能够和Netscape竞争,也可以执行Applet,因此也开始研发精良的Java JIT编译器。特别是当Microsoft得到了Anders Hejlsberg之后,在编译器技术方面有了重大的突破。虽然MicrosoftJIT编译器一直不像其他厂商的Java JIT编译器那么符合标准,但是其品质却是相当的精良。在Microsoft不断地改善之下,依我当时的测试,经其编译后的Java ByteCode执行的速度是最快的,连IBMSymantecJIT编译器都不是对手。因此从我的观点来看,在这个Java JIT编译器的阶段,应该是Microsoft获了冠军。要不是Microsoft没有持续支持最新的JDK标准,又混杂了一些Microsoft自己的东西,到最后使用最为广泛的Java JIT编译器很可能就是MicrosoftJIT编译器。

至于Symantec,在取得了JIT编译器表面上的优势之后,立刻又把重点放在了开发直接把Java ByteCode编译成原生应用程序的原生Java编译器。稍后Symantec成功地开发出了这种编译器,让Borland大为紧张,并且准备跟进。而Symantec也把这个原生Java编译器加入到Visual Café中,成为一项吸引人的功能。不过很快地这项功能却引起了许多Java使用者的批评,因为他们认为这违反了JavaWrite OnceRun Everywhere”的精神,如此一来厂商必须为每一个不同的平台开发原生Java编译器,这会造成Java应用程序在不同的平台执行的反应不一致的现象,又陷入C/C++语言开发的应用程序在不同的平台表现不一的相同问题。后来连SUN也不赞成这种做法,当然这是因为SUN想力推自己的HotSpot编译器技术。因此原生Java编译器在风行了一段短暂的时间之后就不再吸引人注意了,而Borland原本为JBuilder开发原生Java编译器的计划也因此而打住。

::...
免责声明:
当前网页内容, 由 大妈 ZoomQuiet 使用工具: ScrapBook :: Firefox Extension 人工从互联网中收集并分享;
内容版权归原作者所有;
本人对内容的有效性/合法性不承担任何强制性责任.
若有不妥, 欢迎评注提醒:

或是邮件反馈可也:
askdama[AT]googlegroups.com


点击注册~> 获得 100$ 体验券: DigitalOcean Referral Badge

订阅 substack 体验古早写作:


关注公众号, 持续获得相关各种嗯哼:
zoomquiet


自怼圈/年度番新

DU22.4
关于 ~ DebugUself with DAMA ;-)
粤ICP备18025058号-1
公安备案号: 44049002000656 ...::