程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java SE 6 update 10 Beta簡介

Java SE 6 update 10 Beta簡介

編輯:關於JAVA

不要被這個普普通通的名字所迷惑,即將發布的 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 還是比較大的。)。

Figure 1: JRE Size in MB

Java 內核旨在使 Java 軟件能夠更快地進入運行狀態。用戶只需要下載一個小的安裝程序(“內核” )就能基本包括所有需要的 JRE 組件,而不用下載完整的 JRE。需要的時候,用戶可以下載額外的組件 ,JRE 會在後台下載余下的組件並自行組裝。

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!),可以 提供任何決議。

Figure 3: SwingSet3 in Metal

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">

完整文檔請訪問 此處。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved