?? 值得關注:java 1.4 即將發布版本的性能和新功能一覽(轉自ibm developerworks).txt
字號:
作者:sonymusic
email: sonymusic@china.com
日期:7/27/2001 11:25:16 AM
[TABLE][TR][TD]dW at JavaOne: 下一波 -- Java 1.4[/TD][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index_eng.shtml][B]英文原文[/B][/url][/TD][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][/TABLE][TABLE][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][TD][TABLE][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][TD][TABLE][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][B]內容:[/B][/TD][/TR][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][TABLE][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#1]JSR 在 1.4 版本中的刪除部分[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#2]XML API 發展得太快[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#3]用戶有一個參數選擇[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#4]斷言培訓[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#5]記錄新世界[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#6]"N" 代表“新的”[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#7]數據庫的庫到達內核[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#8]進入所需的認證路徑[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#9]利用 WebStart 的快速開始[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#10]"Tiger" 的眼睛[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#11]超越 JSR[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#12]考慮轉向 1.4[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#resources]參考資料[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#author1]關于作者[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#rating]對本文的評價[/url][/TD][/TR][/TABLE][/TD][/TR][/TABLE][TABLE][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][B]相關內容:[/B][/TD][/TR][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][TABLE][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-secure/index.shtml]一個識別用戶的三向解決方案[/url][/TD][/TR][TR][TD][url href=http://www-106.ibm.com/developerWorks/java/library/j-genjava.html]使用類屬在編譯時找出更多的錯誤[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-merlin/index.shtml]Merlin 的魔力:Swing 的新 Spinner 組件[/url][/TD][/TR][/TABLE][/TD][/TR][/TABLE][TABLE][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][/TABLE][/TD][/TR][/TABLE]即將發布版本的性能和新功能一覽
[url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#author1]John Zukowski[/url] ([email]jaz@zukowski.net[/email])
總裁,JZ Ventures, Inc
2001 年 6 月[BLOCKQUOTE]JavaOne 2001 會議進行了幾個議程,來描述新近發布的 Java beta 版本 1.4 的新功能。在這篇文章中,我們集中討論會議中的某些議程以及新版本的性能。[/BLOCKQUOTE][/i] and not [i][/i]. Use and not . use
and not
Use all lower case for tags. -->
Graham Hamilton 是 J2SE Merlin 發行規范制定的帶頭人,他對最近發布的 Java 1.4 beta 的新性能提供了一個概述。在他的議程和其他議程的詳細內容中,開發人員能夠充滿自信地開始把他們的開發工作移向 Merlin 的世界,預計在年底完成的這個版本的發行工作。
Eenie、meenie、minee、mo: JSR 在 1.4 版本中的刪除部分
質量第一,數量第二,1.4 版將為 Java 平臺帶來一些期待已久的性能。 用于 Merlin 的 Java 規范要求 (JSR-059) 通過 Java Community Process (JCP) 整合了一些其他的 JSR。假如調試穩定的話,這些 JSR 將逐步進入已發布的版本。這些 JSR 包括:
[UL][LI]JSR-005 XML 語法分析 [LI]JSR-010 參數選擇 API [LI]JSR-031 XML 數據綁定 [LI]JSR-041 一個簡單的斷言工具 [LI]JSR-047 記錄 API [LI]JSR-051 新的 IO API [LI]JSR-054 JDBC 3.0 [LI]JSR-055 認證路徑 API [LI]JSR-056 網絡啟動 API [LI]JSR-057 JavaBeans 的長期持續性 [LI]JSR-063 XML 處理 [/LI][/UL]
[TABLE][TR][TD]
[B]IBM 參考資料[/B]
為了讓您獲得更多的會議背景知識,請利用這些豐富的[url href=http://www-106.ibm.com/developerWorks/java/library/j-j1preview/j1resources.html]參考資料[/url] -- 論文、案例研究、工具和 developerWorks、alphaWorks 及所有 IBM 的教程 -- 按類似會議議程的組分類。
[/TD][/TR][/TABLE]
某些功能尚未發布,要么因為沒有準備,要么因為 JCP 社團覺得 JSR 不適合于廣泛的 Java 開發社團。沒有包含的 JSR 有:
[UL][LI]JSR-014 在 Java 編程語言中增加類屬類型 [LI]JSR-031 XML 數據綁定規范 [LI]JSR-051 printf/scanf 性能 [LI]JSR-076 J2SE 的 RMI 安全性 [LI]JSR-078 RMI 自定義遠程參考 [/LI][/UL]
XML API 發展得太快
對 Merlin 的 XML 支持實際上正在倒退。因為 XML 技術仍在不斷發展中,我們在 1.4 版中采用目前穩定的 JAXP API; 以后的 XML API 會像現在的 JAXP API 一樣作為標準擴展提供。
這意味著 Merlin 可以提供 SAX 1.0/2.0、DOM 1.0/2.0 和 XSLT 支持,但不提供 XML 消息傳遞 (JAXM)、XML 注冊表 (JAXR) 或許多會議中提及的其它 JAX 的支持。XMLEncoder/XMLDecoder 可用于長期的 JavaBeans 持續性。
用戶有一個參數選擇
新的參數選擇 API 增加了方便存儲和恢復用戶配置數據和應用程序配置數據的能力。為了用輕便和線程安全機制替換 Properties 類,Sun 工程師 Josh Bloch 提供了一個新庫的預覽,它提供了類似于 Windows 注冊表的特定執行的后備存儲器。
語言級的斷言培訓
會議上,Bloch 還忙于描述植入 1.4 版的唯一的語言級功能,這樣斷言工具有了一個新的 assert 關鍵字。
斷言能在代碼里增加布爾檢查,它一經要求就可以啟動來確保程序的正確。比如您有一個 [I]if-else[/I] 程序塊,其中整數只能是 "1"、"2" 或 "3",最后的 [I]else[/I] 程序塊可能不檢查 "3"。你可以增加一個斷言以保證是 "3",如清單 1 所示。
缺省情況下,斷言是被禁用的,但是可以通過專門命令行開關來啟動斷言,讓您確保在用戶產生問題時的環境正確。
[B]清單 1. 使用 assert 關鍵字[/B] [TABLE][TR][TD][PRE]if (foo == 1) {} else if (foo == 2) {} else { assert (foo == 3);}[/PRE][/TD][/TR][/TABLE]
記錄新世界
1.4 版中的新的記錄工具由 Graham Hamilton 在星期四上午的單獨議程中介紹。工具通過單個系統范圍的記錄管理器,用自定義的格式器,提供不同記錄級別的處理。這個有用的小 API 可存儲,比方說,多達 500 條在 foobar.xml 文件中用 XML 格式化的信息(請參閱清單 2)。
[B]清單 2. 記錄工具處理自定義記錄級別[/B] [TABLE][TR][TD][PRE]Logger logger = Logger.getLogger("com.ibm.utils");logger.log(Level.WARNING, "message", exception);[/PRE][/TD][/TR][/TABLE]
這個新工具確實使得廣受好評的開放源代碼的 log4j 包的前途未卜。當然,它仍然被版本 1.4 以前的 Java 語言版本使用。
"N" 代表 “新的”
在 Merlin 中,名字最簡單的包是新的 I/O 庫,它在 java.nio 包中。(是的, [I]n[/I] 代表“新的”。)
Sun 工程師 Mark Reinhold 在 6 月 4 日的議程中描述了新庫的功能。您會得到簡單的緩沖區,這些緩沖區是為原始類型、字符集編碼器和解碼器以及類 Perl 的規則表達式和模式匹配工具而設的。但新庫最有趣的功能是內存映射文件和非模塊化的 I/O。
數據庫的庫到達內核
當使用 Kestrel 發行版(版本 1.3)時,在標準 Java 平臺和幾個擴展 API 上有一些庫。而 Merlin 中,所有擴展數據庫 API 都被認為是內核 API。
最后,與別的比較,CachedRowSet 是標準的。星期三的會議闡述了這些新功能,主持那個會議的人都叫 John -- Sun 公司的 Jonathan Bruce 和 Jon Ellis,以及 Merant 的 John Goodson。
注意:為了支持 JDBC 3.0,在內核庫中需要添加一小部分 Java 事務處理 API (JTA)。
進入所需的認證路徑
新的認證路徑 API 是加在 Merlin 中的一系列安全變化中的一部分。由于新的和更寬松的美國出口限制,以前可選擇的和大多數國家沒有的安全 API 如今在 Java 平臺上已經是成為標準了。
在標準 Merlin 內核中,您會得到 Java 加密擴展 (JCE)、Java 安全套接字擴展 (JSSE) 和 Java 認證和授權服務 (JAAS) API。您還會得到在 Java 普通安全性服務應用程序界面 (GSS-API) 下的 Kerberos V5 支持。
利用 WebStart 的快速開始
Merlin 將網絡啟動的 Java WebStart 產品添加入 deliverables 的標準集合。雖然您還能標記小應用程序以擺脫 Java 沙盒(如果想在瀏覽器里保留小應用程序),WebStart 卻允許您啟動成熟的應用程序,讓用戶在客戶端高速緩存程序,而不必每次運行程序時都下載。
幾個議程介紹了產品的最主要部分。Sun 高級工程師 Rene Schmidt 闡述了最技術性的有關產品性能的概述,其它議程將此技術與象 JavaServer Pages 和 Java 插件這樣的其它客戶端選項進行比較。
"Tiger" 的眼睛
Java 1.4 在 Java 平臺上添加了一些新性能。接下來是代號名為 "tiger" 的 Java 1.5 平臺。假設版本發布周期為 18 個月的話,我們期待 2003 年的某個時候能見到新版本中出現類似類屬的功能。
Gilad Bracha 簡介了目前可用的原型執行情況,其本質主要是添加了類型安全集合,并取消了(從集合中)取回元素時需要執行造型的需要。(請參閱[url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#resources]參考資料[/url],在 developerWorks 上有最近關于類屬的文章。)
類屬的類型檢查被移到了編譯時間中,不再實時進行,這真是件好事情。如清單 3 所示,它們讓代碼變得更加簡潔了。
[B]清單 3. 類屬代碼變簡潔了[/B] [TABLE][TR][TD][PRE]public static void main (String args[]) {... List<String> list = Arrays.asList(args); String head = list.get(0);...}[/PRE][/TD][/TR][/TABLE]
對 "Tiger" 的另一期待是 scanf/printf 格式化工具,它沒有被包含在 Merlin I/O 變化中。
超越 JSR
所有 1.4 庫的變化并不都通過單獨的 JSR 產生。像 Hamilton 總結的那樣,很多新變化只在個別議程中談到,或在其它議程中偶爾提及。
例如,Java 1.4 將支持 IPv6,但這需要支持它的操作系統(如 Windows XP 或 Solaris 8)。同時,Bloch 主辦了一個關于 Collections Framework 的 BOF,這個 Collections Framework 描述了新庫的功能:在 Collections 類中的 3 個新的執行方法、1 個標記接口和 6 個新的支持方法。
考慮轉向 1.4
如果是一個尖端和前沿的項目,并期待在 6 至 9 個月內發布,請考慮轉向 Java 1.4 平臺。這個即將到來的版本包含了開發商期盼的幾個功能。如想了解如何使用這些新功能的詳細信息,請閱讀我很快就會在 developerWorks Java 技術專區上的開設的全新 [I]Merlin 的魔力[/I]專欄。
順便提一下,如果你在尋找會議的幻燈片,Sun 好像正努力要從 250 萬沒有參加會議的 Java 開發商那兒賺點錢。你可能要等到 2001 年 6 月 17 日去瀏覽 http://java.sun.com/learning 獲取信息。
當然你要為每個議程支付約 30 美元,也可以花 1,500 美元獲取整個會議的信息。學生享受 40% 的折扣。
參考資料 [UL][LI]欲知更多 Merlin 版本變化的信息,請參閱附帶在開發商套件中的[url href=http://java.sun.com/j2se/1.4/docs/relnotes/features.html]新的功能和增強的概覽[/url]文檔。
[LI]欲知安全性和 Java 平臺的詳細信息,請參閱 Joseph Sinclair 的文章:“[url href=http://www.cn.ibm.com/developerWorks/java/j-secure/index.shtml]一個識別用戶的三向解決方案[/url]”(developerWorks,2001 年 6 月)。
[LI][url href=http://www-106.ibm.com/developerWorks/java/library/jw-log4j/index.html]Log4j[/url] 提供快速高效的記錄服務。
[LI]欲知更多開放源代碼 API 的詳細信息,請查看 [url href=http://jakarta.apache.org/log4j/docs/index.html]log4j 主頁[/url],它是 Apache Jakarta 項目的一部分。
[LI]在這篇 2001 年 3 月 developerWorks 的文章中,Keith Turner 研究了使用[url href=http://www-106.ibm.com/developerWorks/java/library/j-genjava.html]類屬[/url]在編譯時找出更多的錯誤。
[LI]IBM Education 提供您關于 Java 語言尖端實現的[url href=http://www-106.ibm.com/developerWorks/cgi-bin/click.cgi?url=http://www-3.ibm.com/servlet/com.ibm.ls.lsow.servlets.SearchByChapterServlet?CATALOG_ID=6%26CHAPTER_ID=55%26ROW_COLOR1=C8D8F8%26ROW_COLOR2=FFFFFF&origin=j]課堂和衛星指導[/url]。 [/LI][/UL]
[TABLE][TR][TD]關于作者
John Zukowski 為 [url href=http://www.jzventures.com/]JZ Ventures, Inc.[/url] 做戰略性的 Java 咨詢。他最新的著作是 Apress 的 [url href=http://www.amazon.com/exec/obidos/ASIN/1893115925/johnzukowshomefo/][I]Java Collections[/I][/url] 和 [url href=http://www.amazon.com/exec/obidos/ASIN/189311578X/johnzukowshomefo/][I]Definitive Guide to Swing for Java 2[/I][/url] (第 2 版)。可通過 [email]jaz@zukowski.net[/email] 聯系 John。 [/TD][/TR][/TABLE][/TD][/TR][/TABLE]
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -