当前位置: 首页 > 产品展示 > 数码模块

火博sports

PRODUCTS
×

火博sports6月5日外电头条:探秘Java 7模块化 类路径永

发布时间:2024-04-22 20:51:09 来源:火博体育首页 作者:HB火博APP官网

  JDK 7将使开发者能够提早得到原计划在Java Standard Edition 7中提供的功能。在之前的外电头条中曾报道过Java 7将向细颗粒并行化发展;在旧金山举行的本届JavaOne大会的发布会上,Sun官员谈到了即将到来的Java发布计划,模块化是JDK 7改进计划中的一个重要部分。(:JavaOne是Sun组织召开的每年一次的Java开发技术大会,本届JavaOne 2009是Sun被Oracle收购后最后一次组织JavaOne,详细请参考6月2日的外电:

  “我们正在定义Java平台的模块形式和实现工作,我们正努力使Java虚拟机演变成为一个支持各种高级语言的真正的多语言统一运行时平台。总之,我们的目的是使开发者变得效率更高,”Java SE和OpenJDK的首席工程师Mark Reinhold说。

  走向模块化的道路是为了解决Java变得越来越大的问题,Reinhold说。Sun正在着手处理模块化的实现,通过Jigsaw项目和Java规范请求294(Java Specification Request 294)。据Reinhold的描述,Jigsaw通过采用低层次的模块系统来让开发者使用自己的代码。

  在模块化格式中,模块可以被添加到基础平台比如声音模块或者用作Swing开发。此外,模块将减少开发者对类路径使用的需要,Reinhold说。类路径是Java运行时环境用来搜索类和其他资源文件的路径。

  “如果我们有了一个模块化的平台,那么,我们几乎可以立即解决下载大小和文件系统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月发布。

  Sun在大会上还宣布了Kenai项目的连续整合的功能,进行版本控制和源代码管理。连续整合功能基于Hudson项目。

  【51CTO.com译稿,非经授权请勿转载。合作站点转载请注明原文译者和出处为51CTO.com,且不得修改原文内容。】

  作为Google的新一代沟通平台产品,GoogleWave综合了电子邮件、即时信息、维基和博客等各个方面,允许实时和储存协作通讯。Google在会议中展示的是技术预览版,而正式发布版预计要到今年晚些时候推出。Wave中大部分的代码是开源的,因为Google希望开发者们能够参与进来,更大限度的延伸系统,让开发者们自己的Wave服务器也成为Wave网络的一部分。

  太多的程序员把自己限制在C++和Java中,而错过了众多的新选择。从表面上看这是有道理的。C++和Java都是功能强大的复杂语言,它们两个中任何一个的语法学习书籍都摆满了学校的图书馆;但是,如果整个软件开发领域都几乎完全基于两种语言——况且实际上是两种非常相似的语言——这也是十分危险的,容易导致停滞不前。


火博sports