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

Java SE 6第一印象:贏在桌面

編輯:關於JAVA
本文是一篇來自於一名Java開發高手的文章,他通過對Java標准版6.0的beta版本所作的測試得出結論:該版本有可能給桌面開發帶來革命性的影響。

  一、 引言

  最近發行了Java標准版本6.0的(Java SE 6,也稱作Mustang)的beta版。我下載並測試了這個版本,在可試用的第一時間內,我深深地為其新的桌面特征所打動。除了適合於所有的Java平台("2"被刪除了)的新的命名慣例外,在許多新特征的改進方面值得我們去深入研究。這些改進可以被劃分成兩部分:桌面應用和內核方面。

  桌面改進主要集中在用戶接口(UI)性能和本機OS桌面集成方面。核心主要集中在提高開發者的生產效率和Java應用程序的管理方面。Sun的Mustang開發小組還在Web服務支持和安全性能方面作出重要的改進。

  總之,無論你是一位應用程序開發者,系統管理員,工具供應商或是一位安全專家,Java SE 6都有適合於你的內容。本文想詳細分析我所試用過的一些新鮮而令人感興趣的特征。

  二、 核心特征和改進

  Java功能的核心部分被描述為Java的一個專有組成部分(語言部分和它的核心工具),它對於Java的所有其它方面都起基礎性的作用,從用戶接口API到各種服務器端庫等。下面我將分別談談Java SE 6在Java核心特征上的改進。

  (一) 開發者生產效率

  新的Java編譯器API允許從Java應用程序內部對Java源程序進行編譯。在編譯期間,應用程序可以訪問庫相關信息以及發出警告、錯誤和其它生成的信息。盡管這個特征似乎不是我常用的,但是我很快就發現了它的一些新用途。例如,我可以使用它來快速構建我所構建的程序的數據存取層。我可以編寫代碼來生成和編譯用於存取應用程序的數據庫表的類。最終結果是生成一個JAR文件,這個文件被進一步構建並作為系統的Ant腳本的一部分一同發布。能夠從應用程序內部對類進行編譯這一實現使得代碼生成具有了交互性-我可以以交互方式來修改和構建類。

  為了支持Java腳本編程,Java SE 6支持JSR 223,這是一種提供了到Java內部進行存取的腳本語言的框架標准。你可以定位腳本引擎並且在運行時調用它們以運行腳本。該腳本編程API允許你為選擇的腳本語言提供Java支持。此外,該Web腳本框架允許腳本代碼在任何Servlet容器內生成Web內容。

  在調試方面,Java平台調試器(JPDA)也得到進一步增強,開發人員可以針對被鎖定的監視對象檢測死鎖,並同時生成棧跟蹤。

  (二) 應用程序管理

  通過在java.lang.OutOfMemory異常中包含一個完整的堆棧跟蹤樹並且在堆棧滿時生成致命錯誤記錄,Java SE 6進一步加強了內存漏洞分析和探測能力。另外,還增加了一個新的JVM選項以允許你在堆棧滿時運行一個腳本。

  注意 當MBean屬性值(包括在復雜類型內部的那些屬性值)超過指定的門檻值時,對於JMX監視API的改進方面允許應用程序發送事件以傳遞指定的閥值。

  對於Solaris 10用戶來說,Hotspot JVM for Solaris針對Solaris DTrace系統調試工具提供了鉤子機制以跟蹤和顯示內部JVM活動,例如垃圾收集、類加載、線程、鎖機制等。我在JavaOne上面得到有關這方面特征的第一個演示程序,並因此為DTrace系統所提供的調試深度所深深吸引。當一個應用程序運行時,DTrace允許你在任何一處停止代碼,觀看所有已經加載的庫(而不僅僅是Java庫,也包括所有系統庫),並且能夠單步跟蹤到Solaris內核中(直到硬件層)。Java對於這種高級調試工具的新的支持使該工具非常適合於系統級上的調試。我現在還記得以前在JVM中出現Solaris Signal-8錯誤時的情況,如果當時有這種支持,那將會節省我大量的分析時間。

  (三) Web服務

  Java SE 6包括一些新的API以支持Web服務開發。其中,XML數字簽名API允許你保護基於Java的Web服務——通過執行針對XML數據的加密操作。Java-XML Web服務(JAX-WS)2.0 API對以前命名為JAX-RPC的部分作了進一步更新。對於Java-XML綁定(JAXB)2.0的改進包括了對XML模式的支持和把類綁定到特定模式上。最後,針對於XML的流式API(StaX)提供了一種雙向的API以便經由事件流讀寫XML-包括跳過節的能力以及能夠直接針對文檔的子節進行操作。

  (四) 安全性

  Java SE 6中增加的安全方面的功能包括GSS/Kerberos集成,Java認證和針對LDAP認證的授權服務(JAAS),還有一個安全證書請求框架-它允許Java應用程序通過許多協議來請求安全證書。

  三、 桌面特征和改進

  長期以來,Java被認為是一種基於服務器端軟件的優秀語言,但是只能作為一種二流的桌面GUI應用開發工具。Sun的Java桌面開發小組一直在致力於改變這種局面。在Java SE 6忠他們成功的把Java與其所運行的主機系統更緊密地集成到一起,這導致的結果是,不僅使Java SE 6在GUI性能方面得到很大的改進,而且也大大改進了Java GUI應用程序的行為。

  Java SE 6的許多新的桌面特征都是基於JDesktop集成組件(JDIC)工程。JDIC工程使得Java應用程序能夠存取本機的OS桌面中一些可用特征,例如浏覽器、電子郵件編輯器、文件類型關聯程序、系統托盤、應用程序啟動與打印等。下列是Java SE 6中一些傑出的在桌面方面的改進:

  · Splash屏幕支持-Splash屏幕能夠通知一個用戶,當他在等待時一個應用程序正在啟動。Java SE 6增加了對Splash屏幕的支持-即使在JVM啟動後也可以顯示Splash屏幕。

  · Java基礎類(JFC)和Swing的改進:

  * Java SE 6利用了Windows API來提高性能以確保在當前以及未來的Windows版本中都能具有Windows外觀感覺。

  * 在設計管理改進方面,包括可定制的設計管理器和簡化GUI組件設計的其它一些改進。

  * 對Swing的拖放方面進行了大幅度改進,現在可以對這一功能進行定制。

  * 真實的雙緩沖機制提供了快速平滑的圖形過渡效果。

  · 系統托盤支持。Java SE 6中新增兩個新類,SystemTray和TrayIcon,包含在java.awt包中,它們允許把圖標,工具提示框和彈出菜單添加到Windows或Gnome Linux系統托盤。系統托盤是由所有應用程序共享的桌面區域,通常位於這個區域的右下方。行為(Action)和事件(Event)允許Java應用程序對放到托盤上的項跟蹤鼠標點擊並響應這些點擊。我發現這個特性對我的服務器端應用程序也非常有用。例如,通過與桌面API(見下面)一起使用,現在我可以把一個圖標添加到系統托盤上來容易地實現為應用程序的管理Html頁面啟動一個浏覽器。無論什麼樣的OS(Linux或Windows),我不再需要記住應用程序的管理端口或URL,只需要簡單地點擊圖標,則該頁面就會出現。

  · 針對JTable的改進的打印支持

  · Java 2D改進-在文本顯示質量方面作了改進,特別是在LCD監視器方面。與主機桌面的字體反走樣設置的集成可以確保連續的文本生成。

  · 新的java.awt.Desktop API-新的Java SE 6桌面包主要目的是使得Java UI應用程序成為"第一流的公民"。通過使用這個包,Java應用程序能夠啟動缺省的浏覽器和電子郵件客戶端,並且與普通桌面應用程序集成(例如OpenOffice)來打開、編輯和打印特定類型的文件。該桌面包通過能夠集成到你的應用程序中的行動事件(Desktop.Action)提供了這種能力。

  · 國際化支持-Java SE 6支持針對本地化特征的"插件化",例如日期格式化,Unicode文本規范化以及資源綁定等。

  四、 一場新的Java桌面革命

  實際上,本文也只是簡單地介紹了Java SE 6這個即將發行的重要的Java發行的beta版本中所作的一些改進。這些改進涉及到Java標准版本的許多方面,包括那些與Java企業版本非常密切的方面。

  就象Java 2對服務器所產生的影響一樣,Java SE 6將會對桌面開發領域產生革命性的影響。如今,已經到了為這場新風暴作好准備並把你自己投入到其中的時候了。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved