引言
Java SE 6(代號 Mustang)Beta 版釋出,帶來桌面應用與核心平台的雙重革新。除統一命名慣例(移除「2」)外,改進涵蓋 UI 效能、原生 OS 整合、開發者生產力、應用管理、Web 服務與安全性六大面向,堪稱桌面開發的里程碑。
核心平台增強
開發者生產力飛躍
- 編譯器 API (JSR 199):允許應用程式內部動態編譯 Java 原始碼,支援即時存取編譯警告/錯誤,啟用互動式程式碼生成(如動態建構資料存取層)。
- 腳本引擎框架 (JSR 223):標準化腳本語言整合,支援運行時發現/調用腳本引擎,並提供 Web 腳本框架於 Servlet 容器生成內容。
- 除錯增強 (JPDA):新增死鎖偵測(鎖定監視器物件)與同步堆疊追蹤生成。
應用程式管理強化
- 記憶體洩漏診斷:
OutOfMemoryError 附帶完整堆疊追蹤樹,堆滿時自動生成嚴重錯誤日誌;新增 JVM 選項於堆滿時執行腳本。
- JMX 監控改進:MBean 屬性值超過閾值可發送事件通知。
- Solaris DTrace 整合:HotSpot JVM 提供鉤子追蹤 GC、類載入、執行緒、鎖等內部活動,支援系統級深度除錯(可單步進入核心層)。
Web 服務與安全性
- XML 數位簽章 API 強化 Web 服務加密
- JAX-WS 2.0 取代 JAX-RPC,JAXB 2.0 支援 XML Schema 綁定
- StaX 雙向事件流 API 支援跳過節點/直接操作子樹
- GSS/Kerberos 整合、JAAS LDAP 授權、憑證請求框架
桌面應用革命性改進
基於 JDIC 專案成果,Java SE 6 將 Java 應用提升為桌面「第一等公民」:
關鍵桌面特性
- 啟動畫面支援:JVM 啟動前即可顯示 Splash Screen,改善使用者感知效能。
- Swing/JFC 全面優化:
- 利用 Windows API 確保原生視覺風格與效能
- 可客製化觀感管理器、簡化元件觀感設定
- 拖放功能大幅增強並可客製化
- 真正的雙重緩衝機制實現平滑圖形轉場
- 系統托盤整合:新增
SystemTray、TrayIcon 類別(java.awt),支援圖示、工具提示、彈出選單,跨平台(Windows/Gnome)統一 API。實際應用:伺服器管理應用透過托盤圖示一鍵啟動管理主控台瀏覽器。
- JTable 列印增強、Java 2D 文字渲染優化(特別是 LCD 螢幕)、字體反鋸齒與主機桌面設定同步。
- Desktop API (
java.awt.Desktop):統一啟動預設瀏覽器、郵件用戶端、開啟/編輯/列印檔案(整合 OpenOffice 等),透過 Desktop.Action 事件模型整合。
- 國際化外掛化支援:日期格式、Unicode 正規化、資源綁定可擴充。
結語:桌面開發的新風暴
Java SE 6 對桌面開發的影響,將如當年 Java 2 對伺服器端的衝擊。開發者應即早投入掌握,迎接這場桌面革命。