【51CTO.com快译】14年前,Sun Microsystems创立了Java语言和它的应用平台,如今随着Java SE Development Kit 7(JDK 7)的升级,Java将向着更加模块化的方向前进。
JDK 7将使开发者能够提早得到原计划在Java Standard Edition 7中提供的功能。51CTO.com在之前的外电头条中曾报道过Java 7将向细颗粒并行化发展;在旧金山举行的本届JavaOne大会的发布会上,Sun官员谈到了即将到来的Java发布计划,模块化是JDK 7改进计划中的一个重要部分。(51CTO.com编者注:JavaOne是Sun组织召开的每年一次的Java开发技术大会,本届JavaOne 2009是Sun被Oracle收购后最后一次组织JavaOne,详细请参考6月2日的外电:JavaOne 2009,Sun最后的挽歌? ,更多关于JavaOne 2009的消息请参考51CTO.com的独家报道:JavaOne 2009技术前瞻以及JavaOne 2009 第一天和第二天的热点技术关注。)
“我们正在定义Java平台的模块形式和实现工作,我们正努力使Java虚拟机演变成为一个支持各种高级语言的真正的多语言统一运行时平台。总之,我们的目的是使开发者变得效率更高,”Java SE和OpenJDK的首席工程师Mark Reinhold说。
走向模块化的道路是为了解决Java变得越来越大的问题,Reinhold说。Sun正在着手处理模块化的实现,通过Jigsaw项目和Java规范请求294(Java Specification Request 294)。据Reinhold的描述,Jigsaw通过采用低层次的模块系统来让开发者使用自己的代码。
在模块化格式中,模块可以被添加到基础平台比如声音模块或者用作Swing开发。此外,模块将减少开发者对类路径使用的需要,Reinhold说。类路径是Java运行时环境用来搜索类和其他资源文件的路径。
“类路径永远不会出现了。”Reinhold说。(英文原文:Class path is dead)
“如果我们有了一个模块化的平台,那么,我们几乎可以立即解决下载大小和文件系统footprint这些问题”,因为所有需要下载的只是应用的实际需要,Reinhold表示。而且在安装时可以做到优化。
Java的模块化有可能会走向一个单一的Java实现,Sun应用平台首席技术官Robert Brewin说。目前,Java提供企业版、标准版和面向设备的微型版等各种版本。
“模块化给我们带来了一些特殊的感觉,也许我们已经走到了这一点,从这里我们可以开始思考如何最终把Java合并成一个,”也就是提供一个统一的Java版本,Brewin说。
通过模块化可以让最小型的设备在运行时减少Java碎片,比如让ME系统内置的蓝牙模块在SE系统上运行。但Brewin在发言后继续表示,目前Sun还没有想要整合为一个Java这样的计划。设备碎片一直是ME系统的一个问题,供应商需要自己提供实现办法。
模块化是解决复杂性问题很重要的工具。把应用分成不同的部分(模块、库、包、子项目和组件),再分别进行计算,是行之有效的方式。也是目前Java突破当前发展瓶颈的科学探索。但Java模块化在真正的应用中还有些需要注意的问题,比如依赖性、路径、依赖冲突等。更多关于Java模块化的技术应用请参考51CTO.com之前的报道:走进Java 7模块系统。
Reinhold在发言中说,为了提高Java虚拟机的能力以处理除Java之外的其他主要语言,Sun正在大力开发Da Vinci Machine项目。在提高开发者生产力方面,JDK主要是通过Coin项目,对Java语言作出微小调整,使编程更加容易。但这种改变并不会太大,51CTO之前曾进行过Java 7新特性的展望,事实上,语言层的改变很少;在今年1月更新的Java 7路线图中也没有包含社区中议论纷纷的闭包特性。Reinhold说。其中一项变化是“diamond operator(菱形运算符)”的使用,将用于向编译器发送指令重复完成任务。
另外值得注意的是JDK 7修改了语言规范方式,增加了标注的使用。“这是为了给静态检查工具更好的提供信息,”Reinhold说。
JDK 7中的有些功能已经可以使用了,Reinhold说。JDK 7的Milestone 3已经在上个月发布,功能完整的Milestone 6计划在10月份发布。JDK 7的候选版(也可能就是最终版)预计在2010年2月发布。
在Java企业版方面,Sun的Java企业平台集团高级工程师Roberto Chinnici说,Sun正在完成的还包括Java Enterprise Edition 6的改进工作。Java EE 6将拥有归档和修剪功能,以适合用户的需要。
RESTful网络服务功能也将进入Java EE 6,Java EE 6的最终版计划将在9月份发布。
Sun在大会上还宣布了Kenai项目的连续整合的功能,进行版本控制和源代码管理。连续整合功能基于java.net的Hudson项目。
【更多关于Java 7的动态】
【关于JavaOne 2009】
【51CTO.com译稿,非经授权请勿转载。合作站点转载请注明原文译者和出处为51CTO.com,且不得修改原文内容。】
原文:Java to get more modular with JDK 7 upgrade 作者:Paul Krill