Java SE 6 update 10 Beta 简介

 
Java SE 6 update 10 Beta 简介

 
By Ethan Nicholas, 7/4/08  
 

不要被这个普普通通的名字所迷惑,即将发布的 Java SE6 update10(当前发布的是试用版)与之前的更新版本存在很大的差异。与之前发布的 java 编程语言更新相比,Java SE 6u10 加入了更多的特性和功能,从而推动包络(Envelope)的发展。

严格地说,“Java更新发行版”只是对版本号的第四位(比如,对版本 1.6.0_10 的 10 )进行了改动。与大多数发行版不同,更新发行版本不允许添加、删除或者更改任何公共 API 函数,这样也将更新发行局限于对 bug 的修复。6u10 同样不包含新增的或经过修改的 API 函数,尽管如此,我们仍然成功地添加了一些令人难以置信的新特性。

 

为什么要发布特定更新?

Java 程序正常运行之后,通常是非常稳定的。当今的 Java 运行时环境(JRE)稳定、可靠且速度快。

不幸的是,因为历史原因,进入“正常运行”状态要比想象中困难得多。所面临的挑战包括:

 

  • 很难检测 Java 运行时环境,特别是网页浏览器
  • 很难自动安装新的运行时环境
  • 下载量大
  • 冷启动性能差
  • Applet 和 Web 启动程序重叠少

Java SE 6u10 就是针对这些挑战而设计的。Java SE 6u10 很小心地避免了 API 公共函数的变化,所以我们可以更早地将修复程序提供给您,而不用等到 Java SE 7!

Java内核

JRE提供了许多不同的 API:Swing、AWT、ImageIO、SQL、CORBA、RMI、math、XML、XSLT、并发。太多了,而且每次发布新版本都会增加。虽 然丰富的 API 使 Java 软件的编写变得容易,但是 JRE 多年来始终保持稳健强大并不是一种巧合(由于可压缩性强,Java 2 Platform, Standard Edition 1.5 的下载量相对较小,未经压缩的 JRE 还是比较大的。)。

 
JRE Size
Figure 1: JRE Size in MB
 

 

Java 内核旨在使 Java 软件能够更快地进入运行状态。用户只需要下载一个小的安装程序(“内核”)就能基本包括所有需要的 JRE 组件,而不用下载完整的 JRE。需要的时候,用户可以下载额外的组件,JRE 会在后台下载余下的组件并自行组装。

 
Kernel Size
Figure 2: Kernel Size in MB
 

 

目前,典型的 Swing 程序和 Java applets 下载大小是 4-5 MB,而完整的 JRE 是 14.4 MB。
更多关于 Java 内核的消息请参阅 6u10 FAQ

下一代 Java 插件


Java SE 6u10 包含一个全新的 Java 插件实现。只要您使用的是 Firefox 3 或者 Internet Explorer,它就是默认选项。下一代 Java 插件在浏览器外部的一个或者多个独立进程中运行 Java applet。虽然 Jave 程序与以往一样出现在 Web 浏览器内部,但是这意味着现在可以使用不同的 JRE 版本、命令行参数和结构来运行不同的 Java 程序。通过运行两个非常大且非常复杂的软件—Web 浏览器和 JRE 提供的隔离,在独立的进程空间中提高了两者的可靠性,同时为 Java applets 提供了和其他 Java 软件一直享有的相同的灵活性以及对 JRE 结构的控制。

现在,Java applets 和 Java Web 启动程序拥有同样强大的 JRE 选择和配置特性,因此两者都应该使用同样的机制。现在的 Java 插件支持使用 Java 网络加载协议 (JNLP) 文件来制定程序配置和启动选项。不需要花费什么功夫,您就可以部署与 Java 程序及 Web 启动程序相同的程序。同时还能利用 JNLP 服务的优势,比如 PersistanceService 和 FileSaveService。

新一代插件的优势:

  • 可靠性更高
  • 改进了 Java 脚本通信
  • 控制各 applet 的 JRE 命令行参数
  • 控制各 applet 的 JRE 内存设置,堆上限更高
  • 支持 JNLP
  • 各 applet 都可选择 JER 版本
  • 改进对 Vista 的支持

有关新一代插件的更多信息,请参阅 发行说明

Java 部署工具包


Java 部署工具包支持快速部署 Java 程序或 Java Web Start 程序。部署工具包脚本文件 提供以下功能:

  • 精确检测已安装的 JRE
  • 无缝 JRE 安装
  • 在单独一行代码中完成程序启动(JRE 检测和必要的升级)
  • 在单独的一行代码中完成 Web Start 程序的启动

以下 HTML 代码用于确保已经安装了Java 1.6 并且 Java applets 已经启动:

<script src="http://java.com/js/deployJava.js"></script>

<script>
deployJava.runApplet({codebase:"http://www.example.com/applets/",
archive:"ExampleApplet.jar", code:"Main.class",
width:"320", Height:"400"}, null, "1.6");
</script>

更多关于部署工具包的文档请点击 此处。

Nimbus 的界面外观


当 Swing 古老的 Metal界面外观 首次发布时,其主要的美感竞争来自 Windows 95 界面。在十年前的图形用户界面条件下,Metal 界面 相对于当时的其他普通界面来说是一种很有吸引力的高雅的选择。

Java SE 5 中更新的 Ocean 主题帮助 Metal 成为目前可行的选择,但是修改 Swing 跨平台界面外观也已是当务之急。

进入 Nimbus 界面外观,可以看到崭新的基于 合成 的现代外观。Nimbus 为其应用程序提供了一个完美的界面。而且 Nimbus 完全使用 Java 2D 矢量图型而不是静态位图,所以非常小(只有56KB!),可以提供任何决议。

 
SwingSet3 in Metal
Figure 3: SwingSet3 in Metal
 

 

 
SwingSet3 in Nimbus
Figure 4: SwingSet3 in Nimbus
 

 

由于兼容性的原因,Metal 还是使用默认的 Swing 界面外观。但是要换成 Nimbus 界面外观所需要的更新程序再简单不过了。只需要一行代码:

UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");

您也可以在命令行指定

-Dswing.defaultlaf=com.sun.java.swing.pl a f.nim bus.Nim使Nimbus变成默认的界面外观。一种永久设定属性的方法是添加代码:

swing.defaultlaf=com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel

如果 swing.properties 这个文件不存在,您必须创建一个。

更多关于Nimbus 的信息请参阅 Nimbus 早期访问页面

性能


Sun 的 JRE 在过去几年中以稳健的步伐加速发展,6u10 也不例外。快速启动是主要的性能提升,这能够充分提高多数系统上 Java 冷启动的性能和 Windows 上新的图形流水线。

新的图形流水线将使用 Direct3D 来加速大部分的一般性操作,所以您的计算机可能自带的强大3D图形卡除了玩游戏还有其他用途。半透明,梯度,仿射变换,抗锯齿,矩形填充和副本,以及其他 各种图形操作都将因为 3D 图形卡而加速。而且,之前的 3D 流水线不够强大不能被默认。新的流水线则不同,它坚如磐石,在 6u10 中是默认的。

有关这些特性的更多信息,请参阅 Chet Haase 的博客

改进补丁


Java SE 6u10 包含下载和安装的补丁。当然,在 6u11 公布之前,这是不可见。但是那个时候,更新下载是通过新的下载引擎。这一引擎会监控您的网络使用和节流,提高带宽使用率,避免妨碍您的网络使用。

新的下载引擎能够自动断点续存,而 6u10 使用的新的补丁算法能够很好地减少将来更新文件的大小。 现在的JREs在一有更新的时候就会提示并且下载的时候需要您等待,而 6u10 则不同,它会在后台下载补丁,只有在补丁已经下载完毕了才提示您是否要安装。

 

部署可用性


Java Web Start 向来支持各版本的下载,并且 Java applets 和 Web Start 从一开始就支持 Pack200 compression 的使用。

但是,这些性能都要求服务器端的合作,因此本质上不具有可用性。即使提供了所需的 servlets,开发人员也只需要安装它们,但是很不幸,它们并不是多数 Web 主机的选择,这些特性也没有得到应有的广泛应用。

从 6u10 开始,不需要任何专门的服务器支持,版本和 pack2000 支持都能实现。您还需要使这些性能在 JNLP 或者 applet 标记中可用,不过这很简单,只需要添加代码:

<property name="jnlp.packEnabled" value=true">

或者

<param name="java_arguments" value="-Djnlp.packEnabled=true">

完整文档请访问 此处

期待更多更新!

与 Java 更新的发布一样,SE 6 Update 10 Beta 也提供了一连串的 bug 修复、性能改进和可用性增强,这不是一篇文章就是介绍完的。Java SE 6u10 是我们所接手过的最大的更新发布(没有公共 API 变化)。但是,没有公共 API 变化并不意味着没有值得激动的地方。

下载 Java SE 6 Update 10 Beta

如果需要下载 6u10 JDK,请访问 Nimbus 早期访问页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值