閱讀389 返回首頁    go 技術社區[雲棲]


給Java程序猿們推薦一些值得一看的好書

"學習的最好途徑就是看書",這是我自己學習並且小有了一定的積累之後的第一體會。個人認為看書有兩點好處:

"看完書之後再次提升自我的最好途徑是看一些相關的好博文",我個人認為這是學習的第二步,因為一本書往往有好幾百頁,好的博文是自己看書學習之後的一些總結和提煉,對於梳理學習的內容很有好處,當然這裏不是說自己的學習方法,就不再扯下去了。


目前市麵上講解設計模式的書很多,雖然我前麵講了看書是最好的,但是對設計模式感興趣的朋友們,我推薦的是這個博客。這位博友的設計模式講得非常非常好,我認為90%的內容都是沒有問題且很值得學習的,其講解設計模式的大體路線是:

那麼Java虛擬機是你必學的一門技術。《深入理解Java虛擬機:JVM高級特性與最佳實踐》作者是周誌明,這本書可以說是國內寫得最好的有關Java虛擬機的書籍,近半年,前前後後這本書我起碼看了有5遍。國內寫虛擬機的書除了這本,其實還有一些其他的,我也買過,不過粗略看下來,很多內容也是《深入理解Java虛擬機:JVM高級特性與最佳實踐》此書裏麵的。

我們平時使用的乃至商用的大多數Java虛擬機都是Sun公司的HotSpot,大家cmd進入命令行,使用"java -version"命令就可以看到了。如果希望在Java虛擬機規範的基礎上更加深入地去理解虛擬機的一些細節是怎麼實現的,就可以看一下《HotSpot實戰》一書,作者是陳濤。不過由於HotSpot的源碼都是C/C++寫的,所以要求讀者有非常好的C/C++基礎,如果對這兩門語言不是很熟悉的朋友,看這本書可能對你幫助不是很大。

《Java並發編程實戰》作者是Brian Goetz,怎麼說呢,這本書前前後後我也看了兩遍左右,個人感受是:

《Java多線程編程核心技術》作者高洪岩。想要學習多線程的朋友,這本書是我大力推薦的,我的個人博客裏麵二十多篇的多線程博文都是基於此書,並且在這本書的基礎上進行提煉和總結而寫出來的。

此書和《Java並發編程實戰》相反,這本書的特點是大篇幅的代碼+小篇幅的精講解,可能這和中國人寫的書比較偏向實用主義的風格有關。本書關於線程安全、synchronized、Reentrant、Timer等等都用詳細的代碼進行了講解,而且每個大知識點下的多個小知識點都會詳細講解到,非常有實踐價值。

這是唯一一本我沒有買的書。初識這本書,是在我的博文Java代碼優化(長期更新)裏麵,底下評論的時候有朋友提到了這本書,當時我說要去買,不過這兩個月一直都沒時間去逛書店,甚是遺憾,之後肯定會找時間去買這本書的。

《Effective Java中文版》的作者是Joshua Bloch,這個人就很厲害了,他是穀歌的首席架構師,屬於超級技術大牛級別了吧,嗬嗬。由於沒有看過這本書,所以我不好發表評論,但是從這本書的知名度以及其作者的來頭來看(多提一句,這本書也是Java之父James Gosling博士推崇的一本書),我相信這一定是一本值得一看的好書。

《深入分析Java Web技術內幕》,作者許令波,淘寶工程師。

《大型網站技術架構 核心原理與案例分析》的作者是李智慧,原阿裏巴巴技術專家。

《大型網站係統與Java中間件實踐》作者曾憲傑,是淘寶的技術總監,算起來應該在阿裏有至少P8的級別了吧。

本書要突出的重點是中間件三個字,中間件是分布式係統中一個非常重要的東西,其最重要的作用應該就是解耦,降低模塊與模塊之間的強依賴,不同的模塊之間的依賴度降低,便可以各自獨立地開發自己的功能,這也可以說是軟件工程發展的目標和驅動力。

《從Paxos到ZooKeeper 分布式一致性原理與實踐》,作者倪超,阿裏巴巴工程師

《MySQL5.6從零開始學》,作者劉增傑和李坤

《Spring源碼深度解析》,作者郝佳

================================================================================== 

我不能保證寫的每個地方都是對的,但是至少能保證不複製、不黏貼,保證每一句話、每一行代碼都經過了認真的推敲、仔細的斟酌。每一篇文章的背後,希望都能看到自己對於技術、對於生活的態度。

我相信喬布斯說的,隻有那些瘋狂到認為自己可以改變世界的人才能真正地改變世界。麵對壓力,我可以挑燈夜戰、不眠不休;麵對困難,我願意迎難而上、永不退縮。

其實我想說的是,我隻是一個程序員,這就是我現在純粹人生的全部。

最後更新:2017-04-19 16:47:47

  上一篇:go 4月19日雲棲精選夜讀:阿裏巴巴 Java 開發手冊之MySQL 規約(二)-------我的經驗(逐步完善中)
  下一篇:go 從阿裏雲到ofo,阿裏給這家公司送出了哪些生日禮物?