平台簡介
Standard Edition(標準版) J2SE 包含那些構成
Java語言核心的類。比如:資料庫連線、接口定義、輸入/輸出、
網路編程Enterprise Edition(企業版) J2EE 包含J2SE 中的類,並且還包含用於開發企業級套用的類。比如:
EJB、
servlet、JSP、
XML、事務控制
Micro Edition(微縮版) J2ME 包含J2SE中一部分類,用於消費類電子產品的軟體開發。比如:呼機、智慧卡、手機、PDA、
機頂盒簡單講就是:
J2SE:java2 Standard edition (java 2 標準版)
J2EE:java2 enterprise edition( Java 2 企業版)
J2ME:java2 micro edition (Java 2 微縮版)
他們的範圍是:J2SE包含於J2EE中,J2ME包含了J2SE的核心類,但新添加了一些專有類
籠統的講,可以這樣理解:J2SE是基礎;壓縮一點,再增加一些
CLDC等方面的特性就是
J2ME;擴充一點,再增加一些EJB等企業套用方面的特性就是J2EE。
J2SE商業版本,標準版本 (Java2 Standard Edition) 定位在客戶端,主要用於桌面套用軟體的編程。
J2SE 包含那些構成Java語言核心的類。
比如:資料庫連線、接口定義、輸入/輸出、網路編程
J2SE 是
J2EE的基礎,他大量的JDK代碼庫是每個要學習J2EE的編程人員必須掌握的。
特性
(以下每種特性基本上都有示例代碼,或要了解其它特性,詳見參考資料的“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 中。Collections
API提供可以被多個 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 & Management
API(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 外觀方面有了更進一步的改進。
核心 XML 支持
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 RowSets
JDBC行集支持有兩個主要的更新。CachedRowSet 包含從資料庫檢索的行的記憶體中的集合。但是它們也是不連線的,這意味著以後更新可以與資料庫重新同步。另一個組件是 WebRowSet,它使用資料庫行通過 XML 來傳輸數據。
證書比較
J2SE與Java 代碼簽名證書比較
Java
代碼簽名證書主要用於證明軟體開發者開發的
軟體代碼符合 Sun Java 規範。您可以使用Java 代碼簽名證書來為您的 Java 代碼進行
數字簽名,以便通過
網際網路安全分發,使得最終用戶能確信您的代碼已經通過權威的第三方認證,而且沒有在傳輸過程中被非法篡改和被破壞。
Java 代碼簽名證書可以用於數字簽名運行J2ME MIDlet(
MIDP2.0)代碼,支持諾基亞和索愛等手機的MIDlet套用軟體,運行簽名後的MIDlet Suite就會顯示軟體發行商名稱,否則會顯示讓用戶不敢下載的警告“套用軟體來源未知,繼續?”。同時,簽名後訪問網路等都不會彈出煩人的警告框了,讓手機套用更加安全,更有利於軟體開發商推廣其套用軟體。如果需要簽名J2SE的.Jar代碼,則推薦您購買Thawte Java代碼簽名證書,因為其價格比VeriSign的便宜。 如果您希望有比Thawte Java代碼簽名證書更便宜的Java代碼簽名證書,則您可以選購 WoSign Java代碼簽名證書,但請注意,WoSign Java代碼簽名證書只支持Java J2SE 1.5.008版本或以上版本。