歡迎光臨
每天分享高質量文章

推薦給初級 Java 程式員的 3 本進階書

(點選上方公眾號,可快速關註)


來源:ImportNew – 鄭雯

ImportNew 註: 原作者在這篇文章中介紹3本不錯的技術書籍。作者認為這些書籍對新手或者學生而言尤其有幫助。透過一些基礎性的教程入門後,我們可以使用Java做基礎性的程式設計。然而,當我們需要從初級提升更高的一個層次時,大多數的人卻不知道從何入手。一些好的書籍在這個階段可以很好地幫助初級開發人員。

《Head First設計樣式》

這本書介紹 GoF 常用設計樣式的方式引人入勝。如果只看封面很難看出來這是一本技術書籍,更不用說這本技術書籍介紹的還是面向物件程式設計的一些很有用的技巧。這本書採用 Kathy Sierra 式編寫風格:雖然她的部落格已經關了,但是還是能從前面這個連結看到一些她的文章,建議讀一讀。如果你周圍有人認為設計樣式沒有什麼用處,這本書倒是能夠讓他們改變看法。個人而言,我認為經典的 GoF 手冊是一個很好的參考,但它並不是專為新手準備的。因此強烈推薦在校生(包括那些不清楚組合樣式是什麼的程式員們)閱讀此書。

書中介紹的設計樣式是程式開發中比較基本的程式設計樣式,也是面向物件程式設計的程式員應該瞭解和掌握的。接下來要介紹的這本書則更偏向於Java語言本身,這也是我日常使用的程式語言。

《Effective Java中文版》第二版

每個Java程式員的書桌上都應該放有這本書。讓我們先瞭解下作者:

Joshua Bloch是Google公司的首席Java設計師,並且也是一位Jolt 獎獲得者。他之前是Sun的一位傑出工程師(distinguished engineer),也是Transarc公司的一個資深系統設計師。Bloch主導了眾多基於Java平臺的軟體系統的設計和實現,包括JDK5.0的功能加強以及獲得過獎項的Java集合框架的設計實現。他同時也參與編寫了《Java解惑 | Java Puzzlers》 和《Java併發程式設計實戰 | Java Concurrency in Practice》這兩本技術書。

就憑“Java集合框架開發者”這個稱號,我們就應該認真聽取這位值得尊敬的程式員的建議。這些建議在這本書中組織成78個點:讀者可以按照自己的速度進行閱讀。

  • 在複寫equals和hashcode方法時,我們應該遵循什麼規則?

  • 不可變類(immutable class)是什麼?

  • 在特定的情況下,應當選用哪種最相關的異常型別?執行時異常(Runtime exception)還是可捕獲異常(checked exception)?

  • 對於一個託管語言(managed language,詳細請參考 wiki介紹),如何在混淆編譯時保留(preserve)類的成員?

上面所有的問題(也包括其他74個)都有實用主義者Joshua Bloch的詳細解釋。讀完這本書,程式員應該能意識到使用Findbugs、Checkstyle這些工具的必要性了。

《Java併發程式設計實戰》

 一年前我正努力在做 UI 開發工作時(在Eclipse 外掛中使用SWT/JFace,其他一些專案則使用Swing ),就看了這本書。那時,我想瞭解如何實現一個快速響應的UI,從而能給使用者更好的使用體驗。我知道自己寫執行緒安全的程式碼是非常複雜的,儘管執行時間長的操作通常是一個獨立的執行緒。UI開發和多核系統應用開發是學習如何開發執行緒安全的軟體系統的一個很好的理由。

這本書的作者如下:Brian Goetz,Joshua Bloch(又出現這位大牛了,我們剛提到過,還記得嗎?), Doug Lea(java.util.concurrent包的開發者), David Holmes,Tim Peierls 和Joseph Bowbeer。

這本書的風格非常直接,有的程式碼在非執行緒安全的環境下表現不錯,可一旦到了執行緒安全的環境下就變得十分的危險。接著,這本書介紹了基本的保證執行緒安全的機制:同步機制,volatile關鍵字等。本書還有對java.util.concurrent介面的介紹,你可以根據自己的需要來選擇適合的併發集合類。這本書也介紹了程式執行時的錯誤管理,以及如何測試程式碼是否是執行緒安全的。而且書中還提供了說明性的註釋(Annotation)(下載),這些註釋透過了FindBugs的檢查!

還有其它推薦嗎?

其實還有不少書值得推薦,不過現在我優先討論這三本。如果你一本都還從沒讀過,那麼我建議你按照本文介紹順序進行閱讀。好啦,你喜歡的技術書籍有哪些呢?

 

看完本文有收穫?請轉發分享給更多人

關註「ImportNew」,提升Java技能

贊(0)

分享創造快樂