Java8整装待发 图谋云计算

2012-02-28 15:02:20来源: IT专家网
鉴于Java7SE(标准版)现已正式发布,甲骨文和Java社区进程组织(JCP)的成员们已开始仔细考虑为这种编程语言的下一个版本JavaSE 8添加什么功能特性。为这个新版本提上议程的工作是:设计面向云计算的Java。

    MarkLittle是红帽公司中间件事业部的高级工程主管,也是红帽针对JCP的主要联络官。他说:“Java8旨在为云计算作好准备,面向更广泛的部署领域。”他强调,为了不至于进一步推迟版本的发布,甲骨文撤掉了原计划为Java7添加的许多高级功能特性。那些功能特性很有可能添加到Java 8中。

    Little表示,结果将证明,那些功能特性中至少有两项会非常有助于让下一个版本的Java为云计算的大规模部署作好准备。一项是多租户功能,即Java虚拟机(JVM)安全地运行多个应用程序的功能。另一项是模块功能,即把Java开发工具包(JDK)重新组织成一套定义清晰但又相互关联的模块。

    Little说:“如果Java想在云计算环境成为主导者,那么模块功能和JVM里面真正的多租户功能对Java8来说很重要。”

    Little表示,模块功能是红帽最希望出现在Java8中的一项特性。模块功能将减小大多数Java部署环境的规模,因为不是所有的部署环境都需要Java的全部核心库。该功能还有望帮助开发人员更容易与Java进行交互,让他们只要使用所需的部分,而不是设法应对整个代码库。

    模块功能还有助于开发人员解决Little所说的“类装入器难题”(classloaderhell)这个问题。

    某个Java程序访问多个Java存档(JAR)即常用例程的组合时,开发人员就会遇到类装入器难题。应用程序可能会使用来自某个JAR的一个类,它实际上需要该类驻留在另一个JAR中的不同版本。或者,应用程序可能在使用由另一个程序使用的JAR;一旦那另一个程序终止,JAR就被移除,导致第一个应用程序停止运行。

    Little说:“为了让模块可以随意换进换出,又不破坏整个环境,就需要在JVM中同样给予支持。”

    ProjectJigsaw这一项计划就致力于实现这个目标。Sun公司掌控Java(Sun在2010年被甲骨文收购)时,这家公司的工程师青睐Jigsaw,而不是另一种方案:开放服务网关计划(OSGi),后者由OSGI组织监管。

    Little表示,ProjectJigsaw原本为Java7而生,不过它在2010年被暂停,目的是为了在2011年之前交付Java。不过Little预测,来自Jigsaw或OSGi的工作成果都不会添加到Java8中。他说:“Java SE 8中会存在一定的模块功能。”

    除了模块功能外,Java8可能还有多租户功能,即通过一个JVM,安全地运行多个应用程序的功能。

    这类功能对于Java应用于云计算环境来说必不可少;在云计算环境下,多个有关方共享同一个基础设施。

    不过,如今JavaEE(企业版)为解决这个问题提供了一种变通方法。Little说:“如果JVM本身不提供多租户功能,那么我们所能进行的操作非常有限,以免整个环境可能因同一个JVM中的破坏性租户而受到破坏。”

    Little主张为JVM添加这项功能:为每个应用程序提供各自的内存空间,即分区(zone)。这样一来,“破坏性应用程序就无法溢出,进入到你为在同一个JVM中运行的另一个应用程序留出的内存空间。”

    推崇这个想法的不是只有Little一人。

    弗雷斯特研究公司的分析师JohnRymer也认为:“为JVM添加多租户功能很重要。如今,每家开发商都必须各自想办法来对应用服务器进行虚拟化。”

    把多租户功能添加到JVM中将减轻每一种独特方案所带来的培训压力。这不但可以缓解被开发商锁定的现象,“还让开发商可以将更多的精力投入到确保稳定性和性能上,而不是基本功能上,”Rymer如是说。

许多人长期以来支持添加到Java中的另一项功能是闭包(closure),即在一个函数里面建立另一个函数,让它们共享变量的功能。闭包将有助于跨多个处理器核心,更高效地运行Java。

    尽管甲骨文的首席Java架构师一直满怀热情地要将闭包功能添加到Java中,但他并不认为建议的实现技术已为Java7作好了准备。闭包功能要不要添加到Java8中会开始引发新的一场争论。

    如果添加闭包功能,Java将因而与已经添加了这项功能的其他语言(如JavaScript和Scala)处于不相上下的水平。

    Scala开发者兼Scala工具开发商Typesafe的联合创始人MartinOdersky夸口说:“Java在闭包功能方面的工作似乎与我们已经在Scala中拥有的闭包功能相类似,但存在更多的限制。”

    除了技术本身外,许多人在密切关注甲骨文今后会如何监管Java8。

    甲骨文还没有为Java8版本制定一份官方时间表,不过JCP组织的成员们似乎渴望避免为下一个版本再次等待漫长的间隔期,已在非官方场合表态会在2012年年底之前发。Little说:“我们不想在Java7和Java8之间再等上个四五年。”

    至于如何处理Java方面,甲骨文本身一直在遭到越来越严格的盘查。多方指出,甲骨文交付的Java7存在已知的软件缺陷。

    Little说:“有时我认为甲骨文说的话模棱两可。有时,我访谈过的甲骨文人员确实想把事情做好,竭力避免像对待闭源项目那样运营开源项目。”

    然而有时,Little却发现甲骨文的做法有悖于这些原则。他提到了2010年甲骨文在没有征求意见的情况下,改变了维护开源版JDK的OpenJDK项目的治理细则。结果,红帽失去了其在指导委员会的席位,“尽管明摆着我们贡献了那么多的代码,”Little愤愤不平地说。

    Little说:“我们参与了好多个开源项目。甲骨文的整个处理方法对我们来说不是显得非常符合开源原则。”甲骨文拒绝就本文发表评论。

    从许多方面来看,Java8将真正检验甲骨文管理一个复杂的开源项目的水平如何,这是许多代码贡献者的利益彼此冲突的一个项目。

关键字:Java8  云计算  甲骨文  JCP

编辑:eric 引用地址:http://www.eeworld.com.cn/wltx/2012/0228/article_7643.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
Java8
云计算
甲骨文
JCP

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved