作者:Calvin Austin,2005年1月4日本文給出了升級到Java 2 Platform, Standard Edition (J2SE platform) 5.0的5大理由。每個理由都通過大量數據和參考資料來證實升級到5.0版本將大大降低開發與運行成本。J2SE 5.0(代號Project Tiger)於2004年9月底發布。它是Java平台多年來的重大更新之一。Java社區為其新增功能歡呼不已,然而這些新增功能還無法全面地描述此版本的特色。與以往任何版本相比,這一平台更能滿足高水平的測試要求,更適合於任務關鍵型產品的開發。J2SE 5.0中的改進非常之多,本文選出最重要的前5條理由實非易事。我的選擇如下:1.1. 以前的應用程序可以直接在5.0上運行“為了確保向後高度兼容,兼容測試次數是1.4版本中的兩倍...”??Calvin Austin Sun Microsystems現有的應用程序無需重新設計或重新編譯就可以直接在J2SE 5.0中使用。不僅現有應用程序的投資得到了保護,而且應用程序實際上已經使用新的Java運行時,並從中獲益。為了確保向後高度兼容,兼容測試次數是1.4版本中的兩倍。這些兼容測試只是Java測試套件的一部分,該測試套件包含近20萬個測試,其中接受測試的有許多著名的Java產品。既然應用程序可以未加修改地運行,那麼J2SE 5.0能為您提供什麼呢?1.1.1. 改進的性能在J2SE 5.0中,客戶機和服務器應用程序的性能均得到重大的改進,由於性能改進非常明顯,我將它列為第2條理由,後面將詳述。1.1.2. 監控和易管理性J2SE 5.0引入了先進的監控和易管理性框架,並將其內建在Java平台的虛擬機上(Java虛擬機或JVM)。您可以使用帶有行業標准JMX和SNMP協議的現有管理控制台來監控JVM,甚至可以檢測低內存情況。JDK發行版提供一個名為Jconsole的演示。您可以借助它來評估監控JVM所帶來的好處,從而了解如何拓展自己的可用性指標。1.1.3. 新的觀感Java平台已包含了一個插入式觀感(Look-and-Feel)框架。新增的海洋風格的觀感允許跨平台的應用程序能夠在海洋和本機操作系統的觀感之間進行切換,而無需重建或重新編譯。1.2. 速度更快從下圖可以看出,眾多因素讓J2SE 5.0的系統速度得到了顯著提高。1.2.1. 縮短啟動時間如果您最近幾年一直沒有啟動過Java桌面應用程序,您可能會有驚喜的發現。引入了類數據共享(結合其他流線化選項)後,一些應用程序的啟動時間縮短了近30%。1.2.2. 卓越的64位性能J2SE 5.0的64位JVM可以為AMD64/Opteron CPU和Suse Linux Enterprise Edition 8.0 SLES 提供記錄結果。另外,32位JRE版本可以在同一64位操作系統下與現有的32位Web浏覽器同時運行。1.2.3. 性能改善現在,JVM可在服務器級別的機器上自我配置和優化。服務器級別的機器是指具有兩個或更多CPU,內存至少2GB的機器。基於服務器的性能改善消除了那些長時間運行的應用程序所需的內存和優化類。其結果是不用改動一行代碼或提供任何運行時選項,就可以使應用序服務器基准程序提高80%的性能!1.3. 縮短開發時間集成開發環境(IDE)通過使用自動生成和向導來完成常規任務,從而減輕了開發人員的負擔。J2SE 5.0新增的語言功能進一步流線化了開發過程,無論您是使用IDE還是在文本編輯器手工編碼。1.3.1. 減少開發人員編碼數量Java語言的許多改進都減少了開發人員必須編碼的數量。下圖針對與J2SE 1.4.2版本的比較,對這種減少進行了量化。舉一個現實中的例子來說,一個開放源碼應用服務器使用了超過2,000個迭代器。通過用新的循環改進功能來取代,編碼量大大減少多達40,000個字符。對於開發人員來說,這相當於節省了兩個小時的手工編碼工作量(按每秒5個字符計算)。圖2:減少的編碼工作量(編碼行數更少)J2SE 5.0平台增加了metadata,通過使用工具生成樣板文件代碼和配置信息,大大短少了開發時間。在JSR 181定義的SOA和Web服務的情況下,開發人員通過自動生成公共代碼,有望減少50%的編碼工作量。[注意:上圖給出的例子表明,元數據JAX-RPC從209字符減少至95字符,使用generics的循環改進從139字符減少至100 字符,不使用generic的循環改進從121字符減至90字符,自動裝箱從69字符減至56 字符]。元數據將減少編寫部署描述文件的工作量。曾有人建議EJB 3.0默認由應用程序自身生成配置信息,從而無需部署描述文件。1.3.2. 增強的錯誤檢驗存儲用google搜索“ClassCastException”和“help”關鍵詞將得到40,000條搜索結果。Sun 論壇上的專業搜索報告了3,444個開發者案例,他們都是請求幫助跟蹤由於類轉換異常問題而引起的無法解釋的運行時故障。在3,444個案例中,有470個涉及到pre-generics vector類。從投資回報的角度來看,在業務高峰期間任何運行時錯誤都可能損失公司站點10%的定單收入(若收入為30億GBP,則損失3億GBP)。這還未計入人力和商譽等其他因素。隨著編譯時類型安全generic類型引入到Java平台,通過提醒開發人員在開發期間內是否存在類型匹配問題,將會降低運行時錯誤的風險。在論壇的470個案例中,Vector和其他JDK中的關鍵類庫都已使用J2SE 5.0中的generics進行更新,從而避免重復出現那些無法解釋的運行時問題。1.4. 適用於任務關鍵型系統5.0版本提供了增強的可伸縮性、質量與部署支持。1.4.1. 可伸縮性Java平台的設計令客戶機和服務器均具有可伸縮性。5.0版本引入了一個功能強大的並發類庫,令多線程編程比從前更簡單同時功能也更強大。Java平台還支持64位以及多核心和超線程芯片技術。64位JVM允許應用程序使用4 GB以上的堆空間,還允許與其他64位應用程序集成。1.4.2. 質量J2SE 5.0平台已經在一組廣泛的系統和操作系統變體上進行了深入的測試。測試中使用了許多流行的應用服務器和客戶應用程序。最後一項測試標准??平均故障壓力測試時間??以沒有任何故障而完滿結束。1.4.3. 部署在J2SE 5.0之前,很難確定JVM產品的事務吞吐量。新的分析工具和自動調優功能提供了更好的產品合理精簡信息和配置。當應用程序投入使用後,可以看到通過這些功能縮減的范圍令人驚歎。如前在第1條理由中重點強調的,為了完成部署過程,JVM現在能夠使用行業標准工具執行完整的遠程監控。這就使得系統管理員無論在集群中還是在傳統垂直伸縮的環境中,都可成功地管理JVM。所部署應用程序的健康狀態和可利用性都能得到監控。除了上面升級的4條技術理由之外,還有最後一條至關重要的理由。1.5. 您選擇了一家優秀的公司J2SE 5.0的改進歸功於Java社區。J2SE 5.0專家組包括以下Java領域的公司:apache,Apple,BEA Systems,Borland,Cisco Systems,Fujitsu,Hewlett-Packard,IBM,Macromedia,Nokia,Oracle,SAP,SAS Institute,SavaJe Technologies,Sun Microsystems,John Zukowski,Osvaldo Doederlein和Juergen Kreileder。共有16個由著名Java領域專家組成的工作組。它們組織了全世界160名專家協同工作,最終形成了J2SE 5.0 Java規范。該規范覆蓋了從語言更新到並發類庫再到類壓縮文件API。有關更多的技術細節,請參閱J2SE 5.0 in a Nutshell。也可參考本頁側欄給出的參考書,諸如此類的參考書正在不斷增加。1.5.1. 有關J2SE 5.0的圖書l Java 5.0 Tiger: A Developer's Notebook. David Flanagan, Brett McLaughlin. O'Reilly & Associates, 2004.l Java 2 v5.0 (Tiger) New Features. Herbert Schildt. McGraw-Hill Osborne Media, 2004.l Beginning Java 2, JDK 5 Edition. Ivor Horton. Wiley, 2004.l Core Java 2, Volume I, II (7th Ed.). Cay Horstmann, Gary Cornell. Pearson Prentice Hall, 2005.l Just Java 2 (6th Ed.). Peter van der Linden. Prentice Hall, 2004.l An Introduction to Programming and Object-Oriented Design Using Java 2, 2nd Ed. Jaime Niño, Frederick A. Hosch. Wiley 2005l The Java Class LibrarIEs Poster : Java 2 Platform Standard Edition 5.0 (8th Ed.). Patrick Chan, Rosanna Lee. Addison-Wesley Professional, 2005.l Objects, Abstraction, Data Structures and Design Using Java Version 5.0. Elliot Koffman, Paul Wolfgang. Wiley, 2004. 1.6. 結束語本文列出了我使用Java 2 Platform, Standard Edition (J2SE platform) 5.0的5個重要理由。(本文不涵蓋客戶機或服務器端的全部功能)。有關平台的所有資料,從規范到源代碼,均可從SCSL和Java Research Library獲得,它有助於您作出自己的決策。請通過社區論壇聯系我們,讓我們分享您對J2SE 5.0版本的看法。下面的工具和應用程序利用了J2SE 5.0 增強功能,從而提高開發人員的效率。l New J2SE 5.0 Enhanced tools and applicationsl Java System Application Server 9l NetBeans 4.0l Eclipse 3.xl Borland JBuilder 2005 - Wily Introscope