?? 值得關(guān)注:java 1.4 即將發(fā)布版本的性能和新功能一覽(轉(zhuǎn)自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]內(nèi)容:[/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 發(fā)展得太快[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#3]用戶有一個參數(shù)選擇[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#4]斷言培訓(xùn)[/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]數(shù)據(jù)庫的庫到達(dá)內(nèi)核[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#8]進(jìn)入所需的認(rèn)證路徑[/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]考慮轉(zhuǎn)向 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]關(guān)于作者[/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]相關(guān)內(nèi)容:[/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]即將發(fā)布版本的性能和新功能一覽
[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 會議進(jìn)行了幾個議程,來描述新近發(fā)布的 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 發(fā)行規(guī)范制定的帶頭人,他對最近發(fā)布的 Java 1.4 beta 的新性能提供了一個概述。在他的議程和其他議程的詳細(xì)內(nèi)容中,開發(fā)人員能夠充滿自信地開始把他們的開發(fā)工作移向 Merlin 的世界,預(yù)計在年底完成的這個版本的發(fā)行工作。
Eenie、meenie、minee、mo: JSR 在 1.4 版本中的刪除部分
質(zhì)量第一,數(shù)量第二,1.4 版將為 Java 平臺帶來一些期待已久的性能。 用于 Merlin 的 Java 規(guī)范要求 (JSR-059) 通過 Java Community Process (JCP) 整合了一些其他的 JSR。假如調(diào)試穩(wěn)定的話,這些 JSR 將逐步進(jìn)入已發(fā)布的版本。這些 JSR 包括:
[UL][LI]JSR-005 XML 語法分析 [LI]JSR-010 參數(shù)選擇 API [LI]JSR-031 XML 數(shù)據(jù)綁定 [LI]JSR-041 一個簡單的斷言工具 [LI]JSR-047 記錄 API [LI]JSR-051 新的 IO API [LI]JSR-054 JDBC 3.0 [LI]JSR-055 認(rèn)證路徑 API [LI]JSR-056 網(wǎng)絡(luò)啟動 API [LI]JSR-057 JavaBeans 的長期持續(xù)性 [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]
某些功能尚未發(fā)布,要么因為沒有準(zhǔn)備,要么因為 JCP 社團覺得 JSR 不適合于廣泛的 Java 開發(fā)社團。沒有包含的 JSR 有:
[UL][LI]JSR-014 在 Java 編程語言中增加類屬類型 [LI]JSR-031 XML 數(shù)據(jù)綁定規(guī)范 [LI]JSR-051 printf/scanf 性能 [LI]JSR-076 J2SE 的 RMI 安全性 [LI]JSR-078 RMI 自定義遠(yuǎn)程參考 [/LI][/UL]
XML API 發(fā)展得太快
對 Merlin 的 XML 支持實際上正在倒退。因為 XML 技術(shù)仍在不斷發(fā)展中,我們在 1.4 版中采用目前穩(wěn)定的 JAXP API; 以后的 XML API 會像現(xiàn)在的 JAXP API 一樣作為標(biāo)準(zhǔn)擴展提供。
這意味著 Merlin 可以提供 SAX 1.0/2.0、DOM 1.0/2.0 和 XSLT 支持,但不提供 XML 消息傳遞 (JAXM)、XML 注冊表 (JAXR) 或許多會議中提及的其它 JAX 的支持。XMLEncoder/XMLDecoder 可用于長期的 JavaBeans 持續(xù)性。
用戶有一個參數(shù)選擇
新的參數(shù)選擇 API 增加了方便存儲和恢復(fù)用戶配置數(shù)據(jù)和應(yīng)用程序配置數(shù)據(jù)的能力。為了用輕便和線程安全機制替換 Properties 類,Sun 工程師 Josh Bloch 提供了一個新庫的預(yù)覽,它提供了類似于 Windows 注冊表的特定執(zhí)行的后備存儲器。
語言級的斷言培訓(xùn)
會議上,Bloch 還忙于描述植入 1.4 版的唯一的語言級功能,這樣斷言工具有了一個新的 assert 關(guān)鍵字。
斷言能在代碼里增加布爾檢查,它一經(jīng)要求就可以啟動來確保程序的正確。比如您有一個 [I]if-else[/I] 程序塊,其中整數(shù)只能是 "1"、"2" 或 "3",最后的 [I]else[/I] 程序塊可能不檢查 "3"。你可以增加一個斷言以保證是 "3",如清單 1 所示。
缺省情況下,斷言是被禁用的,但是可以通過專門命令行開關(guān)來啟動斷言,讓您確保在用戶產(chǎn)生問題時的環(huán)境正確。
[B]清單 1. 使用 assert 關(guān)鍵字[/B] [TABLE][TR][TD][PRE]if (foo == 1) {} else if (foo == 2) {} else { assert (foo == 3);}[/PRE][/TD][/TR][/TABLE]
記錄新世界
1.4 版中的新的記錄工具由 Graham Hamilton 在星期四上午的單獨議程中介紹。工具通過單個系統(tǒng)范圍的記錄管理器,用自定義的格式器,提供不同記錄級別的處理。這個有用的小 API 可存儲,比方說,多達(dá) 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 包的前途未卜。當(dāng)然,它仍然被版本 1.4 以前的 Java 語言版本使用。
"N" 代表 “新的”
在 Merlin 中,名字最簡單的包是新的 I/O 庫,它在 java.nio 包中。(是的, [I]n[/I] 代表“新的”。)
Sun 工程師 Mark Reinhold 在 6 月 4 日的議程中描述了新庫的功能。您會得到簡單的緩沖區(qū),這些緩沖區(qū)是為原始類型、字符集編碼器和解碼器以及類 Perl 的規(guī)則表達(dá)式和模式匹配工具而設(shè)的。但新庫最有趣的功能是內(nèi)存映射文件和非模塊化的 I/O。
數(shù)據(jù)庫的庫到達(dá)內(nèi)核
當(dāng)使用 Kestrel 發(fā)行版(版本 1.3)時,在標(biāo)準(zhǔn) Java 平臺和幾個擴展 API 上有一些庫。而 Merlin 中,所有擴展數(shù)據(jù)庫 API 都被認(rèn)為是內(nèi)核 API。
最后,與別的比較,CachedRowSet 是標(biāo)準(zhǔn)的。星期三的會議闡述了這些新功能,主持那個會議的人都叫 John -- Sun 公司的 Jonathan Bruce 和 Jon Ellis,以及 Merant 的 John Goodson。
注意:為了支持 JDBC 3.0,在內(nèi)核庫中需要添加一小部分 Java 事務(wù)處理 API (JTA)。
進(jìn)入所需的認(rèn)證路徑
新的認(rèn)證路徑 API 是加在 Merlin 中的一系列安全變化中的一部分。由于新的和更寬松的美國出口限制,以前可選擇的和大多數(shù)國家沒有的安全 API 如今在 Java 平臺上已經(jīng)是成為標(biāo)準(zhǔn)了。
在標(biāo)準(zhǔn) Merlin 內(nèi)核中,您會得到 Java 加密擴展 (JCE)、Java 安全套接字?jǐn)U展 (JSSE) 和 Java 認(rèn)證和授權(quán)服務(wù) (JAAS) API。您還會得到在 Java 普通安全性服務(wù)應(yīng)用程序界面 (GSS-API) 下的 Kerberos V5 支持。
利用 WebStart 的快速開始
Merlin 將網(wǎng)絡(luò)啟動的 Java WebStart 產(chǎn)品添加入 deliverables 的標(biāo)準(zhǔn)集合。雖然您還能標(biāo)記小應(yīng)用程序以擺脫 Java 沙盒(如果想在瀏覽器里保留小應(yīng)用程序),WebStart 卻允許您啟動成熟的應(yīng)用程序,讓用戶在客戶端高速緩存程序,而不必每次運行程序時都下載。
幾個議程介紹了產(chǎn)品的最主要部分。Sun 高級工程師 Rene Schmidt 闡述了最技術(shù)性的有關(guān)產(chǎn)品性能的概述,其它議程將此技術(shù)與象 JavaServer Pages 和 Java 插件這樣的其它客戶端選項進(jìn)行比較。
"Tiger" 的眼睛
Java 1.4 在 Java 平臺上添加了一些新性能。接下來是代號名為 "tiger" 的 Java 1.5 平臺。假設(shè)版本發(fā)布周期為 18 個月的話,我們期待 2003 年的某個時候能見到新版本中出現(xiàn)類似類屬的功能。
Gilad Bracha 簡介了目前可用的原型執(zhí)行情況,其本質(zhì)主要是添加了類型安全集合,并取消了(從集合中)取回元素時需要執(zhí)行造型的需要。(請參閱[url href=http://www.cn.ibm.com/developerWorks/java/j-j1merlin/index.shtml#resources]參考資料[/url],在 developerWorks 上有最近關(guān)于類屬的文章。)
類屬的類型檢查被移到了編譯時間中,不再實時進(jìn)行,這真是件好事情。如清單 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 產(chǎn)生。像 Hamilton 總結(jié)的那樣,很多新變化只在個別議程中談到,或在其它議程中偶爾提及。
例如,Java 1.4 將支持 IPv6,但這需要支持它的操作系統(tǒng)(如 Windows XP 或 Solaris 8)。同時,Bloch 主辦了一個關(guān)于 Collections Framework 的 BOF,這個 Collections Framework 描述了新庫的功能:在 Collections 類中的 3 個新的執(zhí)行方法、1 個標(biāo)記接口和 6 個新的支持方法。
考慮轉(zhuǎn)向 1.4
如果是一個尖端和前沿的項目,并期待在 6 至 9 個月內(nèi)發(fā)布,請考慮轉(zhuǎn)向 Java 1.4 平臺。這個即將到來的版本包含了開發(fā)商期盼的幾個功能。如想了解如何使用這些新功能的詳細(xì)信息,請閱讀我很快就會在 developerWorks Java 技術(shù)專區(qū)上的開設(shè)的全新 [I]Merlin 的魔力[/I]專欄。
順便提一下,如果你在尋找會議的幻燈片,Sun 好像正努力要從 250 萬沒有參加會議的 Java 開發(fā)商那兒賺點錢。你可能要等到 2001 年 6 月 17 日去瀏覽 http://java.sun.com/learning 獲取信息。
當(dāng)然你要為每個議程支付約 30 美元,也可以花 1,500 美元獲取整個會議的信息。學(xué)生享受 40% 的折扣。
參考資料 [UL][LI]欲知更多 Merlin 版本變化的信息,請參閱附帶在開發(fā)商套件中的[url href=http://java.sun.com/j2se/1.4/docs/relnotes/features.html]新的功能和增強的概覽[/url]文檔。
[LI]欲知安全性和 Java 平臺的詳細(xì)信息,請參閱 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] 提供快速高效的記錄服務(wù)。
[LI]欲知更多開放源代碼 API 的詳細(xì)信息,請查看 [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 提供您關(guān)于 Java 語言尖端實現(xiàn)的[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]課堂和衛(wèi)星指導(dǎo)[/url]。 [/LI][/UL]
[TABLE][TR][TD]關(guān)于作者
John Zukowski 為 [url href=http://www.jzventures.com/]JZ Ventures, Inc.[/url] 做戰(zhàn)略性的 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] 聯(lián)系 John。 [/TD][/TR][/TABLE][/TD][/TR][/TABLE]
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -