Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

Java 1.4 Merlin的新特性

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  摘要:

  Sun微系统公司的Graham Hamilton向Java 社会介绍了Java 1.4。这个新版本在性能上有很大的提高,提供了很多新的API,甚至在内核中也做了必要的改进。这对于开发者来说,就是又要学习很多新的API的使用了。

  5月23日,Sun Microsystems发布了Java 1.4 (aka Merlin)的第一份beta版,它将是Java平台的下一个主要版本。这个beta版本与2001 JavaOne大会同时发布,当然地称为这个大会的一个热点话题。

  Java的发布周期

  Merlin计划遵循了SUN的每18个月提供一个主要JAVA版本的目标。根据Hamilton的说法,Sun发现18个月的周期刚好给JAVA社团以足够的时间来理解和采纳JAVA的新版本。更快的发布将使得开发者和开发工具提供商没有足够的时间来运用所有的JAVA新特性。为了保持连贯性,Hamilton说新的版本将大部分精力集中在了性能的提高和API的增强方面。

  Merlin:一个社团进程

  Sun并不是关起门来开发这个新版本的。取而代之的是,Merlin是Java联盟(JCP) 的产物。Java社团有机会通过Java规范需求(JSR)059直接影响Merlin的开发。

  Hamilton说,在Merlin的开发期间,JCP揭示了它们认为定制下一版本Java平台的五个要素:

  Java主要被用来进行客户端的GUI开发;

  Java被广泛地用于大规模的服务器的开发;

  质量比新特性更重要;

  性能与可扩展性是非常重要的;

  开发一个能够为客户和服务器使用的坚实可靠的产品是至关重要的。

  这五个因素是决定在J2SE 1.4中应该包括哪些内容(或不应该包括哪些内容)的驱动力。同Merlin的规范一样,每个新特性都是在JCP下开发的。每个主要的API和语言更改都是在JSR下的各个独立的专家组直接操作的。 稍稍小一点儿的更改则遵循JCP维护规则。

  Hamilton将Merlin的主要功能目标总结如下:

  可靠性、可用性和适用性(Reliability, availability, serviceability);

  可扩展性;

  性能;

  部署配置。

  Merlin通过新的GUI特性、连接性增强并且更改虚拟机(VM)和核心库的方法满足这些目标Hamilton在他主持的会议的剩下的时间里描述了新增功能、指出了哪些功能没有加入这一版本并且向与会人士通报了beta版的开发情况。

  新的GUI特性

  Merlin对Java 2D、AWT和JFC/Swing等的API做了很多修改,大部分修改是围绕性能的。Merlin是客户端Java编程的非常吸引人的版本。

  Java 2D

  Java 2D的API在性能上进行了简化绘图管道的重新架构。过去,这些API是为基准程序(benchmark)而进行优化的。新架构改变了原有的注意力,将API优化的目光集中在真实世界的应用上。虽然这些新的API在实现基准程序的性能上比1.3版本中的同种API要差,但程序中Swing的执行速度比1.3要快40%,比1.2快100%以上。

  除了管道重构,1.4 2D的改进还包括:

  对远程使用X Window System 提供更好的支持。新的重新设计的API不再在网络中传递bitmaps,而是传递X命令。 这样就给性能带来了巨大的提高——X要快5-10倍!

  可插入图象I/O (JSR-015)。新的可插入图象I/O构架可以装载对GIF、PEG和PNG图的支持。

  打印扩展(JSR-006)。新的扩展提供了更多的页面控制、打印机列表、打印能力和性能增强等功能。

  支持TrueType字体线索。

  AWT

  Merlin最终解决了AWT的焦点管理这个历史遗留问题。事实上,Sun已经完全重写并且重定义了焦点管理子系统。虽然完全重写是一个冒险的动作,但它确实增强了整体性能并且提供了一个可维护的系统。

  除了焦点管理,Java 1.4还增加了:

  鼠标轮支持;

  支持无主GUI。这个支持提供了在服务器上优先使用GUI的方法。

  JFC/Swing

  Merlin也对Swing的功能和性能进行了改进。

  Hamilton说,Merlin将最终解决长期捆饶许多编程人员的Windows文件选择器(FileChooser)的look-and-feel问题。FileChooser现在开始完全支持与Windows本地文件选择器的look-and-feel性能。另一个值得注意的是,所有的Swing组件都开始支持拖放(drag and drop)了。

  在API前端,1.4加入了Jspinner、JprogressBar和TabbedPanel等新组件。JSR-057加入了存档(archiving)JavaBeans组件。

  新的连接功能

  Merlin为Java加入了一些新的连接特性。

  XML

  Hamilton说,Sun在一开始就计划在Merlin中提供许多新的XML的支持。然而,在过去的大约一年的时间里,人们逐渐发现XML还处在成熟的过程中。在这个技术还没有成熟之前,推迟引入新的XML API但将它们作为没有捆绑的附加件来提供看起来会更好些。也就是说,Merlin确实包含了核心的JAXP API:

  SAX 1.0和DOM 1.0 (JSR-005)

  SAX 2.0和DOM 2.0 (JSR-063)

  XSLT支持 (JSR-063)

  将来的版本会包含更多的已经成熟且稳定的XML API》

  IPv6

  1.4在支持IPv6的主机操作系统上(如Solaris 8和Windows 2000)加入了对IPv6的支持。

  URI

  Hamilton说,经验显示java.net.URL类是面向连接的(如果您想连接一个URL,这是一个极好的特性),但是如果您想根据语法来操作一个URL,就会遇到难以克服的问题。

  为了克服这个困难,1.4加入了一个完全支持W3C URI的新的URI类。这个新类从语法上操作URI。当您已经建立了连接,您可以仍然使用原有的URL类。

  安全

  美国出口限制禁止在过去的核心J2SE版本中包含JSSE、JAAS和JCE的安全扩展。值得庆幸的是美国政府已经修改了这些限制,现在的1.4中已经包含了这些API。

  Java 1.4还通过GSS API (JSR-072)加入了Kerberos支持。(译者注:Kerberos是为TCP/IP网络设计的可信第三方鉴别协议,网络上的Kerberos服务起着可信仲裁者的作用)。Kerberos允许支持使用操作系统信任书单独签名,如果没有信任书,Kerberos会直接获得它们。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Windows下JDK1.3.1的安装   下一篇:Eckel对JAVA的看法

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号