现在,Java 7的SE(标准版)已正式发布,甲骨文和JCP(Java社区进程)的成员已经开始酝酿什么功能的编程语言的下一个版本,Java SE的8.在议程这个新版本包括:工程的Java的云。
“Java的8应该设置场景为云,为更广泛的部署舞台上,” Mark Little在红帽的中间件业务的高级工程总监,以及Red Hat的对JCP主要联络人说。甲骨文略去了许多,以便计划为Java 7没有进一步的延迟释放的高级功能,他指出。这些版本很可能被包含在Java中8。
至少有两个的这些功能将被证明在使得Java准备大规模云部署下一版本的工具,小明说。一个是多租户,或Java虚拟机(JVM)安全地运行多个应用程序的能力。另一种是模块化,或JDK的重组(Java开发工具包)成虽然相互依赖的模块中定义的一组清洁。
“在JVM中模块化和真正的多租户将是8至关重要的,如果Java将在云中占主导地位,”小明说。
模块化就是红帽最希望在Java 8看到,小明说。模块化将削减大多数Java部署的大小,因为并不是所有的部署都需要所有的Java核心类库。这将也有助于开发人员更轻松地与Java交互,使他们能够只使用自己需要的部分,而不是格斗与整个代码库。
模块化也将帮助了开发商的问题,小描述为“类加载器地狱”。
开发者体验类加载器地狱当Java程序访问多个JAR(Java档案),或常用程序的集合。当它实际上需要一个不同的版本,类驻留在另一个JAR的应用程序可以使用一个类从一个JAR。或者,它可以使用由其他程序使用的JAR,一旦其他程序终止时,JAR被删除,导致第一应用程序停止运行。
“为了有随意进出交换而没有搞砸了整个环境的模块,你需要有在JVM支持,以及”小明说。
一个努力,Jigsaw项目,一直致力于这个目标。当Sun公司的Java控制(甲骨文在2010年收购太阳),该公司的工程师首选拼图了另一种方法,OSGi的(开放服务网关协议),由OSGi主动监督。
Jigsaw项目被提名为Java 7中,虽然它得到了2010年,为了在2011年出货的Java拉,小明说。然而,无论是从拼图或OSGi的工作应被折叠成Java 8,小预测。“将会有一些目前在Java SE 8模块化,”他说。
除了模块化的Java 8可能还具有多租户,或者从一个JVM的能力安全地运行多个应用程序。
对于在云中使用的Java计算,其中多方可以共享相同的基础设施,这种特征将是至关重要的。
今天,Java企业版提供了针对此问题的一种变通,但是。“如果JVM本身没有提供多租户,那么就只有这么多,我们可以做这件事有可能获得通过在同一个JVM租霸搞砸之前,”小明说。
小主张增加了JVM给每个应用程序自己的内存空间,或区域的能力。通过这样做,“流氓应用程序不会[蔓延到]您保存在同一个JVM上运行其他应用程序的存储空间,”他说。
小不单单是这一想法欢呼。
“添加多租户到JVM是很重要的”,同意Forrester Research的分析师John Rymer说。“今天,每个厂商都必须有自己的虚拟化应用服务器的方式。”
构建多租户到JVM将缓解附带支持每一个独特的方法训练负担。锁定以及“允许供应商投资于稳健性和性能超过基地的功能,” Rymer说表示,将削减供应商。
,许多人一直倡导包含在Java的另一个功能是关闭,或创建另一个函数中的一个函数,让他们共享变量的能力。关闭将是跨多个处理器核心更有效地运行Java很有帮助。
尽管甲骨文首席Java架构师马克莱因霍尔德一直热心关于包括Java内部封锁,他并没有感到所提出的实现是准备的Java 7的斗争将重新开始闭包包含在Java中8。
如果包括,关闭将使上已经有这种能力的其他语言,如JavaScript和Scala等齐名的Java。
“闭包看起来像它的工作将是兼容的,更严格的版本,我们已经在Scala中,”马丁·奥德斯基,斯卡拉创造者,正是Scala工具供应商类型安全的联合创始人吹嘘。
除了技术本身,许多人都在密切关注甲骨文的Java牧人如何8前进。
甲骨文尚未建立正式的时间表为Java 8版本,但JCP的成员似乎急于避免下一版本之前,再长的时间间隔,非正式钉住由2012年底发布。“我们不想再等四年7,8之间的五年中,”小明说。
甲骨文自己已经被越来越多的审查下未来对于如何处理Java的。各方有人士指出它附带的Java 7与已知的bug。
“有时候我认为甲骨文有多个舌头说话,”小明说。“有时候,甲骨文的人,我跟真的谈希望做正确的事,而不是试图运行就像一个封闭源代码项目的开放源代码项目。”
其他时候,然而,很少发现甲骨文将在违背这些原则的方式进行自身。他指出,如何在2010年甲骨文改变,无需投入,为OpenJDK项目,它保持了JDK的开源版本理事章程。其结果是,红帽失去了自己的位置上的指导委员会,“尽管我们的那么多码的事实,”小明说。
“我们参与了不少开源项目。在这种方式被处理也不是很开源给我们的整条路上”小明说。甲骨文拒绝对本文置评。
在许多方面,Java的8将是甲骨文如何管理一个复杂的开源项目,一个有这么多利益争夺许多贡献者真正的考验。
押杰克逊涵盖了企业软件和通用技术重大新闻进行在IDG新闻服务。按照约押在Twitter上@Joab_Jackson。约押的电子邮件地址是Joab_Jackson@idg.com