當前位置:編程學習大全網 - 源碼下載 - J2SE的特性

J2SE的特性

(以下每種特性基本上都有示例代碼,或要了解其它特性,詳見參考資料的“J2SE 1.5(並非最新版本) 簡介”) 您也許已經見過這樣的報告,即壹些新的Java語言變化包含易於開發性主題。這些變化包括泛型、元數據、autoboxing、增強的 for 循環、枚舉類型、靜態導入、C 風格的格式化 I/O、可變參數、並發實用程序以及更簡單的 RMI 接口生成。

JSR 201 包括如下四個語言變化:增強的 for 循環、枚舉類型、靜態導入和 autoboxing;JSR175 指定了新的元數據功能,而 JSR 14 則詳細說明了泛型。

javac編譯器執行的默認語言規範是版本 1.4(並非最新版本)。這意味著要利用以下語言變化的任何好處,需要向javac命令傳遞參數 -source 1.5。 J2SE 1.5 (並非最新版本)中的元數據特性提供這樣的能力,即向 Java 類、接口、方法和字段關聯附加的數據。這些附加的數據或者註釋,可以被javac編譯器或其他工具讀取,並且根據配置不同,可以被保存在類文件中,也可以在運行時使用 Java 反射API被發現。

向 Java 平臺增加元數據的壹個主要原因是,使得開發工具和運行工具有壹個通用的基礎結構,以減少開發和部署所需的成本。工具可以使用元數據信息生成附加的源代碼,或者在調試時提供附加信息。

下面的例子用元數據工具創建了壹個調試元數據註釋,這些元數據註釋然後又簡單地在運行時顯示出來。可以想像,大部分的元數據標簽形成壹個標準,即壹個良好規範的集合。利用壹個元數據處理工具,許多重復的代碼編寫步驟可以減少成壹個簡練的元數據標簽。 泛型壹直是 Java 社團所廣泛期待的,現在已經是 J2SE 1.5 的壹部分了。最先見到使用泛型的地方是在 Collections API 中。CollectionsAPI提供可以被多個 Java 類型使用的公***功能性,比如LinkedLists、ArrayLists 和 HashMaps。下壹個例子使用 1.4.2 庫和默認的javac編譯模式。

泛型化 API 的用戶必須使用 <> 符號簡單地聲明在編譯類型中使用的類型。不需要任何類型轉換,在本例中試圖向壹個 Integer 類型的集合中添加 String 對象將會在編譯時被捕獲。

因此,泛型允許 API 設計者提供這樣的公***功能性:可以與多種數據類型壹起使用,也可以在編譯時出於類型安全對它進行檢查。

設計自己的 Generic API 比起只是使用它們來說要稍微復雜壹些。請從查看java.util.Collection源代碼和API指南開始。 並發實用程序庫由 Doug Lea 定義在 JSR-166 中,是 J2SE 1.5 平臺中流行的並發軟件包的壹個特殊版本。它提供強大的、高級別的線程構造,包括 executors(這是壹個線程任務框架)、線程安全隊列、Timers、鎖(包括原子鎖)和其他同步原語。

著名的旗語(semaphore)是這樣壹個鎖。旗語與現在使用的 wait 的使用方式相同,用於限制對壹塊代碼的訪問。旗語更加靈活,並且也允許許多並發的線程訪問,同時允許您在獲得壹個鎖之前對它進行測試。 1.5 版本承諾在可擴展性和性能方面的改進,新的重點在於啟動時間和內存占用,使它更加易於以最大的速度部署應用程序。

最重大的壹個更新是引入了 Hotspot JVM 中的類數據***享。該技術不僅在多個正在運行的 JVM 之間***享只讀數據,而且改進了啟動時間,因為核心的JVM類都是預先打包的。

性能工效是 J2SE 1.5 中的壹個新特性,這意味著如果您壹直使用的是以前版本中專門的 JVM 運行時選項, 那麽可能值得不用選項或者用很少的選項重新驗證您的性能。

監控和可管理性是 Java 平臺中的RAS(Reliability, Availability, Serviceability,即可靠性、可用性、可服務性) 的壹個關鍵組件。

JVM Monitoring & ManagementAPI(JSR-174) 指定壹組全面的可以從正在運行的JVM進行監控的 JVM internals。 該信息可通過 JMX (JSR-003) MBeans 訪問到,也可以使用JMX遠程接口 (JSR-160) 和行業標準SNMP工具而遠程訪問得到。 Java桌面客戶端保留有 Java 平臺的壹個關鍵組件,並且這壹點成了 J2SE 1.5 中許多改進的焦點。

這個 Beta 版本包含啟動時間和內存占用方面的壹些早期改進。該版本不僅更快,並且Swing工具集采用了壹個嶄新的叫做Ocean的主題。

通過建立 J2SE 1.4.2 中的更新,GTK和 Windows XP 外觀方面有了更進壹步的改進。

具有最新OpenGL驅動程序並且選擇了圖形卡的Linux和Solaris用戶,可以使用下面的運行時屬性從 Java2D 獲得本機硬件加速。 J2SE 1.5 引入了核心XML平臺的幾個修訂,包括 XML 1.1 和Namespace、XML Schema、SAX2.0.1、XSLT和快速 XLSTC 編譯器,以及最後的 DOM 第 3 層支持。

除了支持核心 XML 之外,未來版本的 Java Web Services Developer Pack 將交付最新的 Web 服務標準:JAX-RPC &SAAJ(WSDL/SOAP)、JAXB、XML Encryption and Digital Signature,以及用於註冊的JAXR。 32 位的輔助字符支持作為傳輸到Unicode4.0 支持的壹部分,已經慎重地添加到該平臺。輔助字符被編碼為壹對特殊的UTF16值,以生成壹個不同的字符或者碼點(codepoint)。壹個代理對(surrogate pair)是壹個高 UTF16 值和後面的壹個低 UTF16 值的組合。這些高值和低值來自壹個特殊範圍的 UTF16 值。

壹般來說,當使用 String 或者字符序列時,核心 API 庫將透明地為您處理新的輔助字符。但是因為 Java char 仍然保留為 16 位,所以非常少的壹些使用 char 作為參數的方法,現在有了足夠的可以接受 int 值的方法,其中 int 值可以代表新的更大的值。特別是 Character 類,具有附加的方法來檢索當前的字符和接下來的字符,以便檢索輔助的碼點值。 JDBC行集支持有兩個主要的更新。CachedRowSet 包含從數據庫檢索的行的內存中的集合。但是它們也是不連接的,這意味著以後更新可以與數據庫重新同步。另壹個組件是 WebRowSet,它使用數據庫行通過 XML 來傳輸數據。

  • 上一篇:研究蠕蟲病毒意義
  • 下一篇:最好的戶外網站系統是哪個?
  • copyright 2024編程學習大全網