J2SE

J2SE

Java2平台包括:標準版(J2SE)、企業版(J2EE)和微縮版(J2ME)三個版本。J2SE,J2ME和J2EE,這也就是SunONE(Open NetEnvironment)體系。J2SE就是Java2的標準版,主要用於桌面應用軟體的編程;J2ME主要應用於嵌入式系統開發,如手機和PDA的編程;J2EE是Java2的企業版,主要用於分散式的網路程序的開發,如電子商務網站和ERP系統。

平台簡介


Standard Edition(標準版) J2SE 包含那些構成Java語言核心的類。比如:資料庫連接、介面定義、輸入/輸出、網路編程
Enterprise Edition(企業版) J2EE 包含J2SE 中的類,並且還包含用於開發企業級應用的類。比如:EJB、servletJSP、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的核心類,但新添加了一些專有類
應用場合,API的覆蓋範圍各不相同。
籠統的講,可以這樣理解:J2SE是基礎;壓縮一點,再增加一些CLDC等方面的特性就是J2ME;擴充一點,再增加一些EJB等企業應用方面的特性就是J2EE。
補充一點J2EE更恰當的說,應該是JAVA2企業開發的技術規範,不僅僅是比標準版多了一些類。J2EE又包括許多組件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。
J2SE商業版本,標準版本 (Java2 Standard Edition) 定位在客戶端,主要用於桌面應用軟體的編程。
J2SE 包含那些構成Java語言核心的類。
比如:資料庫連接、介面定義、輸入/輸出、網路編程
J2SE 是J2EE的基礎,他大量的JDK代碼庫是每個要學習J2EE的編程人員必須掌握的。
從JDK5.0開始,不再叫J2SE,改名為Java SE了,因為那個2已經失去了其應該有的意義。

特性


(以下每種特性基本上都有示例代碼,或要了解其它特性,詳見參考資料的“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 中的更新,GTKWindows XP 外觀方面有了更進一步的改進。
具有最新OpenGL驅動程序並且選擇了圖形卡的Linux和Solaris用戶,可以使用下面的運行時屬性從 Java2D 獲得本機硬體加速。
核心 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版本或以上版本。