在這篇文章中介紹3本不錯的技術書籍。動力節點的Java老師認為這些書籍對新手或者學生而言尤其有幫助。通過一些基礎性的教程入門后,我們可以使用Java做基礎性的編程。然而,當我們需要從初級提升更高的一個層次時,大多數的人卻不知道從何入手。一些好的書籍在這個階段可以很好地幫助初級開發人員。
《Head First設計模式》
這本書介紹 GoF 常用設計模式的方式引人入勝。如果只看封面很難看出來這是一本技術書籍,更不用說這本技術書籍介紹的還是面向對象編程的一些很有用的技巧。這本書采用 Kathy Sierra 式編寫風格:雖然她的博客已經關了,但是還是能從前面這個鏈接看到一些她的文章,建議讀一讀。如果你周圍有人認為設計模式沒有什么用處,這本書倒是能夠讓他們改變看法。 GoF 手冊是一個很好的參考,但它并不是專為新手準備的。因此強烈推薦在校生(包括那些不清楚組合模式是什么的程序員們)閱讀此書。
書中介紹的設計模式是程序開發中比較基本的編程模式,也是面向對象編程的程序員應該了解和掌握的。
《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集合框架開發者”這個稱號,我們就應該認真聽取這位值得尊敬的程序員的建議。這些建議在這本書中組織成7 8個點:讀者可以按照自己的速度進行閱讀。
在復寫equals和hashcode方法時,我們應該遵循什么規則?
不可變類(immutable class)是什么?
在特定的情況下,應當選用哪種更相關的異常類型?運行時異常(Runtime exception)還是可捕獲異常(checked exception)?
對于一個托管語言(managed language,詳細請參考 wiki介紹),如何在混淆編譯時保留(preserve)類的成員?
上面所有的問題(也包括其他74個)都有實用主義者Joshua Bloch的詳細解釋。讀完這本書,程序員應該能意識到使用Findbugs、Checkstyle這些工具的必要性了。
《Java并發編程實戰》
這本書的作者如下:Brian Goetz,Joshua Bloch(又出現這位大牛了,我們剛提到過,還記得嗎?), Doug Lea(java.util.concurrent包的開發者), David Holmes,Tim Peierls 和Joseph Bowbeer。
這本書的風格非常直接,有的代碼在非線程安全的環境下表現不錯,可一旦到了線程安全的環境下就變得十分的危險。接著,這本書介紹了基本的保證線程安全的機制:同步機制,volatile關鍵字等。本書還有對java.util.concurrent接口的介紹,你可以根據自己的需要來選擇適合的并發集合類。這本書也介紹了程序運行時的錯誤管理,以及如何測試代碼是否是線程安全的。而且書中還提供了說明性的注釋(Annotation)(下載),這些注釋通過了FindBugs的檢查!
更多Java培訓,Java視頻,Java教程盡在動力節點Java培訓,關注動力節點官方微信,獲得一手Java全新知識。