級別:初級TedNeward,主管,ThoughtWorks,Neward&A" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

必備的 Java 參考資源列表

系統 1882 0

必備的 Java 參考資源列表

包含必備書籍、站點、博客、活動等參考資源的完整清單





<!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- this content will be automatically generated across all content areas --><!--END RESERVED FOR FUTURE USE INCLUDE FILES-->

級別: 初級

Ted Neward , 主管,ThoughtWorks, Neward & Associates

2009 年 3 月 02 日

Java? 平臺不久將迎來它 14 歲的生日,當一種成功且被普遍使用的語言達到這樣一種高度時,伴隨而來的是產生了大量的庫、工具和理念 — 這使得許多剛剛接觸 Java 語言的新手可以獲得大量的資源。在這篇文章中,作者(Java 資源的重要貢獻者)將向您介紹這些資源,為積極進取的 Java 開發人員提供一份他們應該擁有的關鍵參考資源的列表。
<!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --> <!--END RESERVED FOR FUTURE USE INCLUDE FILES-->

自 Java 平臺從 1995 年作為一個整體引入編程社區開始,它的發展已經遠遠超出了早期 Java 專家和推介者所設想的“applet 無處不在”這一遠景。相反,Java 世界出現了 Swing、與 servlet 結合,從而發展為 J2EE、出現了 EJB、超越了 Spring 和 Hibernate、添加了泛型,變得越來越具有動態性,然后實現了函數化,在我撰寫本文時,Java 繼續朝著各種有趣的方向發展。

這使得沒有一直跟隨學習這門語言的 Java 程序員感到有點吃力。

作為一名演講人、博客作者、顧問和導師,經常有一些初、中級 Java 程序員向我詢問相關參考資源,以便幫助他們掌握這個廣泛的、復雜的、看似永無止境的語言。幾年前,我發表了一個 推薦讀物列表 專門解答這個問題,但最近,developerWorks 的 Java 編輯讓我整理一份更完整的參考資源列表,而不僅僅包括書籍 — 考慮到資源列表現在已經增長到了預期消費者即使花費十年的時間閱讀也仍然不得要領的地步,這是一個很好的提議。

為了保證客觀性和避免不利的影響,我決定給出各種參考資源的博客空間(blogosphere):Web 站點、研討會、書籍、博客、工具,以及任何 Java 開發人員可能感興趣或對他們有用的內容,幫助他們從龐大的參考資源中找到自己需要的內容。

這份列表得到了很多人的響應(在此我要感謝所有的回復者)。

在開始之前,需要解釋一點:這些參考資源不一定是 Java 世界中最流行、最強大或最有影響的資源 — 這份 列表可能完全不同(盡管我懷疑其中也會出現很多相同的資源);但每個希望獲得成功的 Java 開發人員都應該將這些參考資源保存在瀏覽器、書架或備忘錄中。與任何此類型的列表一樣,人們總會爭論哪些內容本來應當包含進去但卻沒有出現在列表中,或本 不該有的內容卻出現在列表中。

現在開始正式介紹這些參考資源。

Web 站點和開發人員 Web 門戶

網絡無疑改變了共享資源和出版的本質(對我也是一樣:您正在網絡上閱讀這篇文章),因此,從每位 Java 開發人員都應該關注的關鍵 Web 站點和開發人員門戶上的關鍵 Java 參考資源入手似乎比較合理。

在 許多情況下,Web 站點和/或開發人員門戶的價值不僅僅在于其中提供的參考資源或文章,還包括圍繞該門戶或站點的社區。靜態 Web 頁面和下載文件的時代已經一去不復返了,取而代之的是更“積極” 的論壇、主題文章和交互式討論,討論者不僅包括頻繁訪問該站點并組成社區的開發人員,還包括社區成員和門戶所有者。隨著技術的發展,開發人員也必須跟上技 術的步伐,同時,門戶也要不斷發展,以滿足社區不斷變化的需求;與社區保持開放的關系是實現活躍門戶的關鍵因素。

Web 站點列表(帶有 URL):

  • java.sun.com
    這是 JDK 的發源地,通常是 Java 開發人員下載 JDK 和文檔副本的首要站點。除此之外,該站點還是查找有關整個 Java 平臺的信息的好來源,包括一段非常詳細的 JVM 介紹(Hotspot),它極其深入地描述了 JVM 的細節。
  • java.net
    Java.NET 站點匯集了開源項目、文檔、博客、wiki、新聞和其他社區資源等各種內容。它是 Java 技術的主要信息來源,不過提供的信息似乎過于繁雜。不過盡管如此,瀏覽項目列表也會找到一些真正有用的東西,如 FEST-Swing 項目,它旨在創建一個用于構建 Swing 應用程序的“方便接口”,大大簡化了單元測試的創建。
  • InfoQ
    由 Floyd Marinescu 創建,他是 The ServerSide 的名譽主編,InfoQ 與這里列出的許多其他參考資源的區別是,它是技術中立的,不僅包括 Java 代碼,還包括 .NET 和 Ruby,并提供了大量靈活的方法和見解。盡管 InfoQ 上的評論社區并沒有 TheServerSide 上的社區那么龐大和多樣化,但是該社區中的討論通常更加溫和,而不會過于激烈。
  • TheServerSide
    通常稱為“the Slashdot of Java”,TheServerSide 是第一個公開質詢、熱烈討論和積極研究企業 Java 主題的地方。有關輕量級容器(以 Spring 為代表)的一些最初理念就是從這里誕生的,這里產生了許多 Java 社區中的“思想領導者”。盡管最近的激烈爭論有時會帶有主觀色彩,但 TSS 將始終是許多 Java 內容的發源地,這些內容構成了我們現在所擁有的 Java 系統;同樣,從 TSS 總是可以了解各種 Java 技術的歷史。
  • DZone
    DZone 最初是一個面向 Java 開發人員的資源站點,但最近它擴展到了其他技術領域。包括 .NET 和 Ruby,以及其他幾個主題“專區”。這樣,不僅 Java 開發人員可以利用它來專門研究 Java 專區,還會有一些跨平臺的內容,聰明的開發人員可以充分利用這一點。
  • developerWorks Java 技術專區
    如果您正在閱讀本文,那么您已經找到了 dw。為了解釋清楚,我必須強調除本文外,我曾在該站點發表過其他一些文章,但我可以誠實地說,dw 是一個有關 Java 編碼和 JVM 的文章和資源的優秀來源。特別注意,請務必查看 Java 理論與實踐 ,這是一個由 Brian Goetz 撰寫的長期系列,其中包含一個共分三部分的 JVM 垃圾收集器系列文章,它以一種淺顯易懂的方式介紹了 GC 的核心概念。
  • IBM alphaWorks
    alphaWorks 是 developerWorks 的姊妹站點,IBM 研究人員和員工在此提供他們認為會確定未來主流的工具和技術。alphaWorks 提供了十二種不同的類別,從而為 Java 開發人員提供了機會來嘗試各種非常超前的工具、語言、庫和其他項目 — 它們正處于研究階段。注意,許多項目是為了證明一個特殊的研究點,然后就會停止,使項目保持在當前的效率狀態。 警告: 有 些項目不是開源的,而有些項目不包含源代碼。但相當數量的 alphaWorks 項目最終會成為主流,要么成為受 IBM 支持的產品,要么作為可從一些 IBM 開放源碼位置下載的可用工具。無論如何,只要關注 alphaWorks,就可以了解 Java 發展的方向以及方式。
  • OnJava
    OnJava 是一個獨立運行的站點,用于跟蹤活動、記錄會議、提供各種有關企業 Java 的觀點。事實上,這里提供的大部分信息也可以在別處找到,不過這一點對于幾乎所有開發人員門戶(包括上面提到的)都是一樣的,想了解 Java 的各種開發的開發人員只需打開該站點上的 文章列表 ,然后逐一閱讀。
  • Artima
    Artima 由 Bill Venners 創建,目前已經發展成一個巨大的匯集了文章、博客和訪談的站點,它不是完全側重于 Java 開發,并且其中還包括了 Java 著作方面的權威(查看 Bill Joy 自 Java 5 出版后,對 Java 語言復雜性的懷疑,以及他用于證明所擔心問題的經典示例 — Enum<>)。該站點非常值得您訪問。

注意,對于上面大部分站點,為充分利用站點/門戶,需要進行某種形式的注冊。在撰寫本文時,所有文章基本上都是免費的,只需要一個用戶名/密碼登錄,以便 它們能惟一識別訪問者,還需要提供電子郵件地址,以便定期發送主題新聞資訊或電子郵件(據我所知,所有站點將允許您不提供電子郵箱,但我還未這樣做過,因 為我發現新聞咨詢會不時告訴我一些有趣的、我還不知道的信息,收件箱中的這些郵件是很有用的)。

博客(Weblog)

Blog 使開發人員可以輕松地表達想法、概念、理念、論點并圍繞技術展開思想討論,并了解特定技術領域中非常有影響力的“思想領袖”。此外,博客可以通過提要閱讀 器在本地使用,提要閱讀器將文章/條目下載到本地,以便在脫機時也可以使用。事實上,博客已經變得非常普遍,以至于出現了專門的設備(如 Amazon Kindle)來輕松獲取開發人員所需要的信息。

關鍵在于從幾百萬個博客中找到感興趣的內容。每位開發人員都有他自己的選擇,哪些需要閱讀,哪些不需要,但有些博客是最基本的,包括:

注意(大多數)博客內容都屬于個人觀點;在這里分享的一些觀點可能在以后被證明是錯誤的 — 永遠不要只根據博客條目中的信息來對產品下結論。但如果要使思維過程突破常規,博客將是一種增強技能的強大資源。

包和/或庫

跟蹤 Java 生態系統中的所有庫和包是一項繁雜的工作,并且 Java 開發人員很容易就會忽略這項工作。結果,開發人員常常發現自己正在編寫的內容其實已經存在于平臺內(只要他們瀏覽一下就會發現這一點)。

下面列出了“每位 Java 開發人員至少應該知道其存在(最好知道如何使用)的十大 Java 包”:

  • java.lang.reflect
    許多 Java 庫和工具都依賴于 Reflection 包,所以了解它成為了一項必要要求(如果在使用時不理解它,會因為安全策略或其他類型的基礎設施不匹配問題而導致失敗)。與 Reflection 結合使用的還有 Java 5 注釋和 java.lang.annotation
  • javax.script
    Java 系統一直在強調動態語言,了解如何從 Java 代碼內部使用腳本語言可以使開發人員擴展他們的系統,而不用經歷昂貴的編譯-鏈接-運行-測試環節。
  • javax.management java.lang.management
    該管理包也稱為 Java 管理擴展(Java Management Extensions,JMX),是一種監視 Java 應用程序運行的強大工具;因此,開發人員應該熟悉和習慣使用 JMX,以便構建實際上可以被系統管理員使用的軟件。不要忘記查看隨 JDK 一起發布的 jconsole 工具,它演示了一種應用程序健康狀況指示板,同時演示了可以構建的內容,它本身就是一個很有用的工具(密切關注構建 jconsole 插件來在 jconsole 內啟用腳本支持的腳本 demo,它是任何合格的系統管理員都應該掌握的一個強大工具)。
  • java.util.concurrent.*
    并發性是開發人員在未來十年內將要面臨的最大問題,Java 開發人員用來修復并發性 bug 的主要武器就是此包及其子包中的類( .atomic .locks )。學習使用它將與學習編寫類一樣(甚至更)重要。了解它,使用它,并喜歡上它。
  • java.util
    java.util 中的類同樣重要。它們被頻繁引用,特別是 Collections 類,所以 java.util.* 應該像 java.lang 那樣自動導入。
  • java.beans
    JavaBeans 無疑是整個 Java 生態系統中都要使用的核心元素之一,使用商業含義不是很明顯的名稱“POJO”(普通的舊 Java 對象)。POJO 仍然基于 JavaBeans 代碼、API 和規范,因此花一點時間了解 java.beans 中的類可以幫助編寫更好的 POJO。
  • java.util.logging
    診斷和審計日志迅速成為跟蹤運行程序執行的強大工具,不管是出于調試目的,還是出于管理和監視目的。我的忠告是:學習使用這個包和其開源的姊妹包 log4j
  • java.security.*
    Java 安全 API、策略機制和權限類是使 Java 環境成為安全計算平臺的核心部分,但只有開發人員知道如何利用這個包。避開加密 API — 在詳細了解每個對您有用的選項后再使用它們。它們不難使用,但要獲取加密權限(意味著沒有大的缺陷)需要花費幾年的時間,有大量來自其他加密專家的相關評 論。首先使用其他機制,如 SSL/TLS 和 GuardedObject/SignedObject/SecureObject 類。
  • javax.xml.parsers.* javax.xml.bind javax.xml.transform.*
    XML 逐漸出現在 Java 開發人員的視野中,能夠解析(直接解析或通過對象-XML 庫)和轉換它(使用 XSLT)是開發人員必須擁有的一項重要技能。
  • javax.sound.*
    這不是一項必需的技能,但知道如何偶爾彈出聲音效果可以使原本乏味的代碼充滿生氣。此外,在沒有直接可用的顯示時,還可以用聲音來向系統提供信號和反饋。 除此之外,讓拋出棧跟蹤的機器發出恐怖電影里的尖叫,這樣用戶可以知道剛剛發生了不好的事情,從而增加了一些刺激的樂趣。

當然,還有許多其他(位于 JDK 內部和外部)的包值得學習,但掌握以上這些就足以使您很好地處理大多數項目,更不用說應付大多數工作面試。

研討會

研 討會繼續在 Java 開發人員的培訓中扮演著主要角色,特別是那些還沒有獲得足夠的認可,尚未成為大型培訓公司培訓課程的主題。研討會也是開發人員結識其他具備各種技能和職責 的開發人員的絕好機會,使與會者有機會做一些非常過癮的(并且是完全必要的)事情:發泄對工作環境的不滿。

參加研討會也會產生一種有用的副作用(如果積極管理,可以為研討會錦上添花): 與會者可以建立開發人員小組。 通 過可在世界范圍內使用的電子郵件、郵件列表(如 GoogleGroups 或 Yahoo Groups)和許多其他輕量級 groupware 通信工具,了解參加研討會的人員的信息比以前更加容易。這些通過午餐和晚宴建立起來的友誼可以持續一生,并且隨著時間流逝愈加有益,特別是在評估新技術時 更是如此。

讓一位有著 30 年經驗的與會者、演講者、組織者(不是我,是我的一位朋友)的話為您提供指引:“技術新手參加研討會是為了通過期間舉辦的各種會議獲取知識,資深人士參加研討會是為了宴會和結識朋友。宴會幫助您結識朋友,他們可以幫助您提升自己的職業”。

研討會包括:

  • No Fluff, Just Stuff
    這是一個我特別熱衷的研討會,不僅僅因為我是那里的定期演講者,而且還因為十大 JavaOne 2007 演講者中有 7 個人都是 NoFluffJustStuff(目前的或以前的)演講者。Java 開發人員不會發現比這里更加關注技術主題的討論,而且也不會找到比它價格更合理、召開位置更便利的會議:您的家鄉(北美大陸每年有 30 多場會議 — 范圍跨越歐洲和亞洲,這樣,您便有機會驅車去參加 NFJS 大會,而不用花幾千美元飛到一個遙遠的城市并且住在旅館中)。同樣,本文中推薦的許多書籍都是由出席 NoFluff 研討會的專家編寫的,這一點也就不足為奇了,而且 NFJS 的組織者們一直在不遺余力地查找有關各種 Java 和 Agile Development 主題的“重要資源”。
  • JavaOne
    這是一個規模宏大且非常客觀的會議,并且一直在舊金山(在這個地方舉行有利也有弊,具體取決于您公司的出差預算情況)舉行,不過世界上還沒有哪一個會議能像 JavaOne 這樣把這么多關鍵 Java 推動者聚集到一個地方。
  • JAOO
    為了不冷落我們的歐洲 Java 同胞,每年在丹麥奧爾胡斯舉行一次 JAOO 會議,該研討會已經舉辦了將近二十年,并且沒有任何衰落的跡象。JAOO 不僅吸引了一些頂尖的演講者和作家,而且作為一個跨技術的研討會,在技術方面具有很好的包容性,也就是說,與會者早上可以出席 Java 研討會,午餐時與一些 C++ 開發人員交談,下午了解 Microsoft 的 ? Silverlight 的最新發展成果(或任何別的新事物),晚上則與 Smalltalker 喝喝啤酒。如果您想增長見識,JAOO 或它的姊妹會議 QCon (在 InfoQ 工作人員的協力支持下召開)將是一個不錯的起點。對那些居住在“澳大利亞或新西蘭” 的 Java 同胞,今年(2008)在布里斯班和悉尼首次召開了 JAOO;所有跡象表明,在未來幾年來內,將會在這里再次舉行 JAOO。
  • Devoxx
    該研討會是以前的 JavaPolis,在比利時安特衛普這一飛速發展的城市舉行,參加這一研討會是遇見歐洲同行的絕好途徑(而且還可以品嘗到上等的比利時啤酒)。演講者都 是該領域的首席專家,他們將集中討論一些尖端技術。該研討會也提供了優秀的平臺和許多機會讓您與開發人員同行進行交流。
  • Jazoon
    Jazoon 是一個相對較新的研討會,2007 年在蘇黎世(瑞士)召開。因為參與者名單上有 Martin Odersky(Scala 的創建者)、Neal Gafter 和 Simon Phipps(Sun 的首席開放源碼執行官)之類的名字,所以 Jazoon 有望吸引大量演講者。Jazoon 完全側重于 Java 主題并在歐洲的中心召開,它有望成為歐洲 Java 同胞們的一項重要日程。

還有其他一些研討會,目標受眾也各不相同,但以上列舉的研討會是直接針對 Java 開發人員的。那些希望擴大自己視野的開發人員應該考慮參加“其他” 技術研討會,如在世界各地舉辦的各種 Perl、Python、Ruby 甚至 .NET 會議;接受新的觀念有時需要研究一組全新的問題。

書籍

對開發人員而言,沒有哪一種資源能比價格便宜的傳統書籍更容易獲取。只需要去當地的書店(如果您住在邊遠地區,可通過 Web 瀏覽器查找 Amazon 來購買書籍),就可以找到大量珍貴的技術知識和經驗……只要您肯在大量資源中仔細尋找。

這些書籍假設讀者已經有了 Java 語言和工具集的應用知識;Java 入門書籍非常普遍,而且大多數討論的是相同的基本內容。選擇書籍需要一定的技巧,要考慮作者的寫作風格,有時甚至要考慮隨書光盤中是否包含了練習的參考答案(如果包含了練習的話)。

掌握了基本知識后,考慮閱讀以下書籍:

  • Effective Java (第 2 版) ,Joshua Bloch
    每位 Java 開發人員的書架上必備的第一本書,必須定期翻閱、隨時查看。
  • Java Concurrency in Practice ,Brian Goetz
    每位 Java 開發人員書架上必備的第二本書,因為每位 Java 人員(不管他們愿意與否)都會操縱多線程環境的內部。
  • Better, Faster, Lighter Java ,Justin Gehtland 和 Bruce Tate
    這一小巧的冊子被許多 Java 開發人員當作攻下以 Spring 為首的“輕量級容器” 環境的“利器”,填補了大多數大型 EJB 服務器(如 WebSphere 或其他事務處理中間件)留下的空白。作者還介紹了基于 POJO 的開發周期,指出了該理念的優點和缺點,以及如何采取更輕量級的方法構建企業應用程序,使用了 Spring 和 Hibernate 這類不會降低生成系統的功能和能力的工具。
  • Effective Enterprise Java ,Ted Neward(我)
    提供 75 種方法來確保企業 Java 應用程序(不管它們是用 Spring、EJB、Web 服務,還是其他技術實現)不會出現問題。就像 Effective Java 不是針對初級 Java 程序員一樣, Effective Enterprise Java 同樣也不是針對剛開始學習“企業 Java” 基礎知識的開發人員。
  • Release It! ,Michael Nygard
    任何打算編寫針對生產服務器的軟件的人都應該閱讀本書 — 它深入探討了生產環境中可能出現的錯誤,以及如何處理潛在的故障,要么恢復故障,要么完全避免故障。
  • Inside the Java 2 Virtual Machine ,Bill Venners 或 Component Development for the Java Platform ,Stuart Halloway
    Java 開發人員一旦學習 Java 這門語言后,遲早要了解底層平臺 — Java 虛擬機本身,這意味著垃圾收集以及 Reference 對象、ClassLoader、線程和監視器等主題將成為接下來探討的重點領域。兩本書中的任何一本(或兩本)都是非常有用的指南。但是這兩本書都有一個 很大的缺陷:它們的出版時間比較早。 Inside 是 Java 1.2 期間出版的,此后不久便出版了 Component-Based 。幸運的是,大多數 Java 虛擬機自那時起一直沒有發生什么變化,所以如果讀者遇到除 JDK 1.2 以外的問題時,可以暫時放下本書并繼續研究下一主題。
  • Martin Fowler 撰寫的 Patterns of Enterprise Application Architecture 、Gregor Hohpe 和 Bobby Woolf 撰寫的 Enterprise Integration Patterns
    說到設計方法和理念,這兩本書都是典范,同樣假定大部分讀者都閱讀過由 Gamma、Helm、Johnson 和 VlissidesBoth 合著的經典書籍 Design Patterns 。模式書籍通常為開發人員提供了一些基本的概念構建塊進行調整和組合,從而創建更健壯的設計,這些構建塊在單獨使用時就不怎么有效。
  • Java Power Tools ,John Smart
    很多人推薦這本書,它詳細介紹了 Java 生態系統中各種可用的工具。Smart 還提供了關于本書的培訓課程(Java Power Tools Bootcamp),但大多數開發人員獲取信息的最簡單方式還是通過 dead-tree 版本。
  • The Pragmatic Programmer ,Andy Hunt 和 Dave Thomas
    每個程序員應該人手一冊,不管他實際使用的語言或平臺是什么。本書適合有經驗的讀者和從事多年編程工作的程序員。本書可與 Fred Brooks 的經典著作 The Mythical Man-Month 媲美。
  • The Productive Programmer ,Neal Ford
    這本最近出版的書籍與 Pragmatic Programmer 一樣經典,它主要討論各種技巧和技能,程序員可以借助這些技巧和技能提高他們的效率,獲得比 IDE 更高的生產力。
  • The Pragmatic Starter Kit
    本套件由 Pragmatic Unit Testing (with JUnit) Pragmatic Project Automation Pragmatic Source Control (with Subversion) 組成。每本書都清晰、針對性地討論了各個主題的核心內容,它們直接深入主題,沒有涉及其他無關內容。例如,Project Automation 是閱讀 Ant in Action 的“開胃書”,但同時也討論了什么是優秀的構建流程以及構建它們的原因。
  • Ant in Action (第 2 版) ,Erik Hatcher 和 Steve Loughran
    Ant 是面向 Java 平臺的優秀構建實用程序(參閱后面的工具內容了解更多詳細信息),本書是目前為止介紹強大 Ant 功能的最佳讀物。在學習如何使用 Ant 時, Ant in Action 還演示了單元測試、持續集成和生產部署實踐,這一切都是從實際 Java 開發人員的日常實踐的角度出發的。

工具

正如蓋房子不僅僅是“掄起錘子在板上釘釘子” 一樣,Java 開發也不僅僅是“掌握 IDE 并開始編寫代碼”。好的 IDE 當然能為編寫 Java 代碼出力不少,但其他的工具也可以提供與 IDE 相等的(也許更好的)價值。

排名不分先后……

  • IDE
    當然,工具討論首先從 IDE 開始。在避開商業限制方面,Eclipse 和 NetBeans 都是開源且免費的,因而提供了吸引人的“第一步”。
  • 單元測試
    掀起單元測試革命的工具是 JUnit ,但其他幾個工具也得到普及,包括 TestNG ,自然還有 JUnitPerf 等等。
  • 持續集成
    持續集成服務器不斷檢查不受源控制的代碼,執行構建,對它運行單元測試,并通常通過電子郵件向開發人員報告所有構建故障。有幾個開源版本可用,但有一個已經得到了廣泛關注,即 Hudson,它是一個擁有大量插件和具有高可擴展性的持續集成服務器,它源自 CruiseControl ,它正是因為這一點而聲名斐赫。
  • 靜態分析
    FindBugs 是一個運行 Java 代碼的開放源碼靜態分析工具,執行 n 向深度分析來找出所有可能的代碼路徑,并基于一組可擴展規則報告找到的各種錯誤和警告。FindBugs 由 William Pugh 開發(這位 William Pugh 還發現了 Java 內存模型中的 bug),其最值得炫耀的地方是它能夠分析 Java 代碼來查找并發 bug,每位程序員都會為之歡呼。
  • 網絡包跟蹤
    WireShark (以前一般稱為 Ethereal)使程序員可以查看網絡上傳播的內容,讓他們有機會檢查正在網絡上傳播的內容是否合適,而那些 合適的內容(比如敏感信息和明文密碼)沒有出現在網路上。
  • 虛擬化
    類似 VMWare、Xen、VirtualBox 或 VirtualPC 之類的虛擬化工具(或者更準確地稱之為平臺)使程序員能夠創建與生產機器將運行的環境相同的環境,而不失去主機 PC 環境的生產力。它還提供了一種便利方法來在本地嘗試“處于試驗階段的” 軟件,而不必讓處于生產狀態的機器冒險。如果不是完全的開源項目,大多數虛擬化工具都提供有某種免費選項。

您不必感到驚訝,這些工具中的其中一些是商業工具;如果一個工具一個星期平均能幫您節約一個小時的時間,您需要多長時間就可以收回購買該工具的資金呢?如 果管理人員不認同這個觀點的話,那么仔細計算使用某一工具節省的時間(假設是開發人員的時間,或者是產品診斷或執行時間)后,管理員終會發現,他們在這些 工具上的吝嗇是一件得不償失的愚蠢事。

向貢獻者致謝
感謝所有訪問我的博客(blogs.tedneward.com)的讀者,他們從百忙中抽出時間來向我推薦應該包含在此列表中的參考資源;他們(當然不是 所有人)包括 Greg Ostrovich、Ryan Slobojan、Hamlet D'Arcy(他認為自己是個外星人,正在為 IT 打工來賺錢修復他的宇宙飛船,從而返回自己的星球)、Pierre Marc-Larocque、Prashant Rane、Marc Stock、Eric Kerwin、Morten Anderson、Alex,以及 Yvonne Miller、Rahul Raj、Brian Sletten 和 Neal Ford。

未來趨勢展望

當 然,Java 開發人員花所有時間來學習當前的技術并不是一件好事,學習完后,新的技術又接踵而至,使學過的所有內容一下子都變得過時了。隨時關注“未來發展趨勢” 同樣重要,惟有這樣,當公司 CTO 突然在電梯里問您“我最近聽到的函數式語言是怎么一回事,我們需要對此進行研究嗎?” 時,您才會給出連貫合理的答復。

排名不分先后,一些圍繞 Java 平臺的“未來趨勢” 包括:

  • 動態語言
    Groovy 和 JRuby 之類的語言衍生出了其他一些值得研究的項目,如 Clojure 和 Fan,試驗表明,低強度類型的環境能提供更好的生產力和更多的選項。這并非鼓勵您放棄 Java 語言,不過,最好的效果總是來自強強聯合。
  • 函數式語言
    其興起源于 Scala,由于函數語言一般支持復合函數并缺少共享狀態,因此提供了隱式并發性的優點(盡管有時它的語法很難讓人接受)。Jaskell 是一個 Haskell-on-JVM 實現,同樣,Clojure 也適合在這里使用,您可以想象生產環境中的軟件事務內存是什么樣子。
  • Java 中的閉包
    添加閉包支持(也稱為 lambda 或匿名方法)將簡化部分 Java 編碼工作,對是否在 Java 7 發行版中包含此支持進行過熱烈的討論。社區對此問題的討論深度不一,因此 Java 程序員有必要花點時間研究這個問題,并看看討論的所有內容。
  • DaVinci 機器
    JVM 的一個新版本對其他語言(比如上面提到的動態語言和函數式語言)更友好,這最終可能會也可能不會使它進入主流 JVM 發行版。隨時關注這一點有助于理解在當前 JVM 上運行動態/腳本語言的利弊。
  • 用戶界面開發
    在 Flash/Flex、Silverlight 和 JavaFX 的支持下,Web 瀏覽器得到了顯著的(并且幾乎是驚人的)改變。這還不考慮 Java 領域中的新服務器端 Web 框架和 Google Web 工具包(Google Web Toolkit,GWT)之類的特例。用戶界面一直是、而且以后將繼續是一個吸引人的亮點。了解一到兩個(更不必說 Swing 或 SWT 之類的“富客戶端” 庫)庫將對構建比 HTML 頁面更具交互性的內容大有裨益。

記住,與任何和“未來” 相關的事物一樣,現在討論的內容可能最終證明是錯誤的方向、曇花一現的事物、對行業的一種影響,也可能是下一個重大事件;保持開放的思維,同時也要保持適當的懷疑。

結束語

請隨意補充此列表 — 最終會得到一份更完善的參考資源列表。因為 Java 世界在不斷發展,不斷變化和成長,所以列表的內容會隨時間而改變。這是一件好事;如果我們必須使用 1995 年時期的 Java 環境,我們早就轉向其他技術了。

積極參與到 Java 世界中來:貢獻補丁、增強,如果沒有合適的貢獻,就構建自己的工具。也許您的項目 5 年以內會一直出現在這個列表中。



參考資料



關于作者

Ted Neward 的照片

Ted Neward 是 ThoughtWorks 的一名顧問,ThoughtWorks 是一家在全球提供咨詢服務的公司,他還是 Neward & Associates 的主管,負責有關 Java、.NET 和 XML 服務和其他平臺的咨詢、指導、培訓和推介。他現在居住在華盛頓西雅圖附近。

轉自:IBM 開發者社區

必備的 Java 參考資源列表


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 神马影院我不卡影院 | 华人欧美国产在线精品 | 中文字幕日韩一区二区三区不 | 国产欧美精品一区二区色综合 | 日韩免费高清一级毛片久久 | 亚洲人成影院在线高清 | 国产一在线精品一区在线观看 | 国产精品久久久久久影视 | 奇米影视基地 | 在线免费h | 999在线播放 | 天天干天天干天天操 | 成人短视频视频在线观看网站 | 亚洲精品国产综合久久一线 | 国产日产欧美一区二区三区 | 国产码欧美日韩高清综合一区 | 久久精品国产6699国产精 | 99re66热这里只有精品首页 | 亚洲一区欧洲一区 | 日韩一区二区视频在线观看 | 日韩经典欧美一区二区三区 | 国产香蕉视频在线观看 | 成人精品一区二区三区 | 成人免费小视频 | 精品国产一区二区在线观看 | 成人网在线免费观看 | 色综合久久一区二区三区 | 99精品国产高清一区二区 | 成人欧美日韩高清不卡 | 欧美日韩亚洲m码色帝国 | 午夜欧美 | 欧美毛片aaaaa片久久久久 | 中文字幕日本不卡一二三区 | 日本a毛片在线播放 | 99热只有精品一区二区 | 中文字幕免费在线观看 | 欧美成人禁片在线观看网址 | 美日韩黄色片 | 西西人体大胆77777视频 | 久久免费香蕉视频 | 天天影视欧美综合在线观看 |