Java 1.4 即将发布版本的性能和新功能一览(转自IBM developerWorks)
dW at JavaOne: 下一波 -- Java 1.4 | |||
([email protected]) 总裁,JZ Ventures, Inc 2001 年 6 月 JavaOne 2001 会议进行了几个议程,来描述新近发布的 Java beta 版本 1.4 的新功能。在这篇文章中,我们集中讨论会议中的某些议程以及新版本的性能。[/i] and not . Use and not . use and not Use all lower case for tags. --> Graham Hamilton 是 J2SE Merlin 发行规范制定的带头人,他对最近发布的 Java 1.4 beta 的新性能提供了一个概述。在他的议程和其他议程的详细内容中,开发人员能够充满自信地开始把他们的开发工作移向 Merlin 的世界,预计在年底完成的这个版本的发行工作。 Eenie、meenie、minee、mo: JSR 在 1.4 版本中的删除部分 质量第一,数量第二,1.4 版将为 Java 平台带来一些期待已久的性能。 用于 Merlin 的 Java 规范要求 (JSR-059) 通过 Java Community Process (JCP) 整合了一些其他的 JSR。假如调试稳定的话,这些 JSR 将逐步进入已发布的版本。这些 JSR 包括:
某些功能尚未发布,要么因为没有准备,要么因为 JCP 社团觉得 JSR 不适合于广泛的 Java 开发社团。没有包含的 JSR 有:
XML API 发展得太快 对 Merlin 的 XML 支持实际上正在倒退。因为 XML 技术仍在不断发展中,我们在 1.4 版中采用目前稳定的 JAXP API; 以后的 XML API 会像现在的 JAXP API 一样作为标准扩展提供。 这意味着 Merlin 可以提供 SAX 1.0/2.0、DOM 1.0/2.0 和 XSLT 支持,但不提供 XML 消息传递 (JAXM)、XML 注册表 (JAXR) 或许多会议中提及的其它 JAX 的支持。XMLEncoder/XMLDecoder 可用于长期的 JavaBeans 持续性。 用户有一个参数选择 新的参数选择 API 增加了方便存储和恢复用户配置数据和应用程序配置数据的能力。为了用轻便和线程安全机制替换 Properties 类,Sun 工程师 Josh Bloch 提供了一个新库的预览,它提供了类似于 Windows 注册表的特定执行的后备存储器。 语言级的断言培训 会议上,Bloch 还忙于描述植入 1.4 版的唯一的语言级功能,这样断言工具有了一个新的 assert 关键字。 断言能在代码里增加布尔检查,它一经要求就可以启动来确保程序的正确。比如您有一个 if-else 程序块,其中整数只能是 "1"、"2" 或 "3",最后的 else 程序块可能不检查 "3"。你可以增加一个断言以保证是 "3",如清单 1 所示。 缺省情况下,断言是被禁用的,但是可以通过专门命令行开关来启动断言,让您确保在用户产生问题时的环境正确。 清单 1. 使用 assert 关键字
记录新世界 1.4 版中的新的记录工具由 Graham Hamilton 在星期四上午的单独议程中介绍。工具通过单个系统范围的记录管理器,用自定义的格式器,提供不同记录级别的处理。这个有用的小 API 可存储,比方说,多达 500 条在 foobar.xml 文件中用 XML 格式化的信息(请参阅清单 2)。 清单 2. 记录工具处理自定义记录级别
这个新工具确实使得广受好评的开放源代码的 log4j 包的前途未卜。当然,它仍然被版本 1.4 以前的 Java 语言版本使用。 "N" 代表 新的 在 Merlin 中,名字最简单的包是新的 I/O 库,它在 java.nio 包中。(是的, n 代表新的。) Sun 工程师 Mark Reinhold 在 6 月 4 日的议程中描述了新库的功能。您会得到简单的缓冲区,这些缓冲区是为原始类型、字符集编码器和解码器以及类 Perl 的规则表达式和模式匹配工具而设的。但新库最有趣的功能是内存映射文件和非模块化的 I/O。 数据库的库到达内核 当使用 Kestrel 发行版(版本 1.3)时,在标准 Java 平台和几个扩展 API 上有一些库。而 Merlin 中,所有扩展数据库 API 都被认为是内核 API。 最后,与别的比较,CachedRowSet 是标准的。星期三的会议阐述了这些新功能,主持那个会议的人都叫 John -- Sun 公司的 Jonathan Bruce 和 Jon Ellis,以及 Merant 的 John Goodson。 注意:为了支持 JDBC 3.0,在内核库中需要添加一小部分 Java 事务处理 API (JTA)。 进入所需的认证路径 新的认证路径 API 是加在 Merlin 中的一系列安全变化中的一部分。由于新的和更宽松的美国出口限制,以前可选择的和大多数国家没有的安全 API 如今在 Java 平台上已经是成为标准了。 在标准 Merlin 内核中,您会得到 Java 加密扩展 (JCE)、Java 安全套接字扩展 (JSSE) 和 Java 认证和授权服务 (JAAS) API。您还会得到在 Java 普通安全性服务应用程序界面 (GSS-API) 下的 Kerberos V5 支持。 利用 WebStart 的快速开始 Merlin 将网络启动的 Java WebStart 产品添加入 deliverables 的标准集合。虽然您还能标记小应用程序以摆脱 Java 沙盒(如果想在浏览器里保留小应用程序),WebStart 却允许您启动成熟的应用程序,让用户在客户端高速缓存程序,而不必每次运行程序时都下载。 几个议程介绍了产品的最主要部分。Sun 高级工程师 Rene Schmidt 阐述了最技术性的有关产品性能的概述,其它议程将此技术与象 JavaServer Pages 和 Java 插件这样的其它客户端选项进行比较。 "Tiger" 的眼睛 Java 1.4 在 Java 平台上添加了一些新性能。接下来是代号名为 "tiger" 的 Java 1.5 平台。假设版本发布周期为 18 个月的话,我们期待 2003 年的某个时候能见到新版本中出现类似类属的功能。 Gilad Bracha 简介了目前可用的原型执行情况,其本质主要是添加了类型安全集合,并取消了(从集合中)取回元素时需要执行造型的需要。(请参阅,在 developerWorks 上有最近关于类属的文章。) 类属的类型检查被移到了编译时间中,不再实时进行,这真是件好事情。如清单 3 所示,它们让代码变得更加简洁了。 清单 3. 类属代码变简洁了
对 "Tiger" 的另一期待是 scanf/printf 格式化工具,它没有被包含在 Merlin I/O 变化中。 超越 JSR 所有 1.4 库的变化并不都通过单独的 JSR 产生。像 Hamilton 总结的那样,很多新变化只在个别议程中谈到,或在其它议程中偶尔提及。 例如,Java 1.4 将支持 IPv6,但这需要支持它的操作系统(如 Windows XP 或 Solaris 8)。同时,Bloch 主办了一个关于 Collections Framework 的 BOF,这个 Collections Framework 描述了新库的功能:在 Collections 类中的 3 个新的执行方法、1 个标记接口和 6 个新的支持方法。 考虑转向 1.4 如果是一个尖端和前沿的项目,并期待在 6 至 9 个月内发布,请考虑转向 Java 1.4 平台。这个即将到来的版本包含了开发商期盼的几个功能。如想了解如何使用这些新功能的详细信息,请阅读我很快就会在 developerWorks Java 技术专区上的开设的全新 Merlin 的魔力专栏。 顺便提一下,如果你在寻找会议的幻灯片,Sun 好像正努力要从 250 万没有参加会议的 Java 开发商那儿赚点钱。你可能要等到 2001 年 6 月 17 日去浏览 http://java.sun.com/learning 获取信息。 当然你要为每个议程支付约 30 美元,也可以花 1,500 美元获取整个会议的信息。学生享受 40% 的折扣。 参考资料
|