首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java SE 6 Update 10 Beta 深度解析:核心新特性與效能提升

     編輯:Java 相關知識

前言:不只是例行更新

不要被「Java SE 6 Update 10」這個平淡的版本號誤導。雖然按照慣例,更新版本(Update Release)僅修改版本號的第四位(如 1.6.0_10),且不允許新增、刪除或修改任何公共 API,僅限於修復 Bug,但 6u10 卻打破了這一慣例的框架——它在不變更公共 API 的前提下,引入了多項令人矚目的新特性,大幅推進了 Java 部署、啟動效能與使用者體驗的邊界。

為何需要這個特殊更新?

Java 程式一旦進入「正常運行」狀態,向來以穩定、可靠、快速著稱。然而,歷史包袱讓「進入正常運行」的過程充滿挑戰:

  • 難以偵測 JRE 版本,特別是在瀏覽器環境中
  • 自動安裝新版 JRE 困難
  • 下載體積龐大(完整 JRE 約 14.4 MB)
  • 冷啟動效能不佳
  • Applet 與 Web Start 技術重疊度低,整合困難

Java SE 6u10 正是針對上述痛點設計,並在不修改公共 API 的原則下,提前交付了原本需等待 Java SE 7 才能見到的改進。

核心特性一:Java Kernel —— 輕量級啟動引擎

JRE 體積對比圖

圖 1:JRE 體積對比(單位:MB)

傳統 JRE 包含 Swing、AWT、ImageIO、SQL、CORBA、RMI、XML、XSLT 等數十種 API,隨版本迭代體積持續增長。Java Kernel 採用「核心+按需下載」架構:使用者僅需下載約 4-5 MB 的小型安裝程式(Kernel),即可啟動典型 Swing 程式或 Applet;其餘組件在後台靜默下載並自動組裝,實現「零感知」的完整 JRE 體驗。

Kernel 體積對比圖

圖 2:Kernel 安裝包體積對比(單位:MB)

核心特性二:新一代 Java Plug-in —— 進程隔離與 JNLP 整合

6u10 預設啟用全新的 Java Plug-in 實作(支援 Firefox 3 與 Internet Explorer)。其核心突破在於:Applet 現在運行於瀏覽器外部的獨立進程中。這意味著:

  • 不同 Applet 可使用不同 JRE 版本、命令列參數與記憶體設定
  • 瀏覽器與 JRE 進程隔離,雙方可靠性大幅提升
  • Applet 獲得與 Java Web Start 同等的 JRE 選擇、配置靈活性
  • 原生支援 JNLP 檔案部署,可複用 PersistenceService、FileSaveService 等 JNLP 服務

新一代 Plug-in 的優勢總結:

  • 更高的可靠性
  • 改進的 JavaScript 通訊
  • 單獨控制各 Applet 的 JRE 命令列參數與堆記憶體上限
  • 支援 JNLP 部署描述檔
  • 各 Applet 可獨立選擇 JRE 版本
  • 改進對 Windows Vista 的支援

核心特性三:Java Deployment Toolkit —— 一鍵部署腳本

部署工具包(deployJava.js)解決了 JRE 偵測與安裝的歷史難題:

  • 精確偵測已安裝的 JRE 版本
  • 無縫自動安裝/升級 JRE
  • 單行程式碼完成 Applet 啟動(含 JRE 檢測與升級)
  • 單行程式碼完成 Web Start 應用程式啟動
<script src="https://java.com/js/deployJava.js"></script>
<script>
  deployJava.runApplet({
    codebase: "https://www.example.com/applets/",
    archive: "ExampleApplet.jar",
    code: "Main.class",
    width: "320",
    height: "400"
  }, null, "1.6");
</script>

核心特性四:Nimbus Look and Feel —— 現代化向量介面

Metal 風格 SwingSet3

圖 3:Metal 風格的 SwingSet3

Nimbus 風格 SwingSet3

圖 4:Nimbus 風格的 SwingSet3

Nimbus 基於 Synth 合成架構,全面採用 Java 2D 向量繪圖,無需靜態位圖,體積僅 56 KB,支援任意解析度縮放。雖然為相容性 Metal 仍是預設風格,但啟用 Nimbus 極其簡單:

// 程式碼中設定
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");

// 命令列設定
-Dswing.defaultlaf=com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel

// 永久設定(swing.properties)
swing.defaultlaf=com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel

核心特性五:效能飛躍 —— 冷啟動與 3D 圖形管線

  • 快速啟動: 大幅優化多數系統上的 Java 冷啟動效能。
  • 新圖形管線(基於 Direct3D): 利用 GPU 加速半透明、漸層、仿射變換、抗鋸齒、矩形填充/複製等通用圖形操作。不同於舊版 3D 管線不穩定,新管線在 6u10 中預設啟用,穩如磐石。

核心特性六:增量更新與後台下載

  • 新下載引擎監控網路使用、節流頻寬,避免干擾使用者網路體驗。
  • 支援斷點續傳,新補丁演算法大幅縮減更新包體積。
  • 更新包在後台靜默下載,僅在下載完成後提示使用者安裝,不再阻塞使用者工作流。

核心特性七:部署易用性 —— 免伺服器端支援的版本控制與 Pack200

過去版本控制與 Pack200 壓縮需要伺服器端 Servlet 配合,導致普及率低。6u10 起,無需任何專用伺服器支援,僅需在 JNLP 或 Applet 標籤中添加:

<property name="jnlp.packEnabled" value="true"/>
或
<param name="java_arguments" value="-Djnlp.packEnabled=true"/>

即可啟用版本化下載與 Pack200 壓縮,極大降低部署門檻。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved