1. 程式人生 > >Java程式設計師必看的9本基礎書籍推薦!

Java程式設計師必看的9本基礎書籍推薦!

網際網路的迅速發展給IT行業提供了廣闊的前景,很多IT企業為了更好的發展,不惜重金聘請軟體開發人才以增強自己在市場上的競爭力。這也讓IT從業人員薪資水漲船高,許多人紛紛轉投Java開發行業。很多人學Java都是衝著Java的高薪來的,那麼月薪過萬的Java程式設計師,必看基礎書籍有哪些?

1、《深入理解計算機系統》

著名的CSAPP,從c語言到組合語言到硬體再到作業系統,寫得非常好。是一本能幫助深入理解計算機系統的書。基本上把這本書吃透面試作業系統的大部分問題都不是問題。

小編是一個有著5年工作經驗的java程式設計師,對於java,自己有做資料的整合,一個完整學習java的路線,學習資料和工具,相信這裡有很多學習java的小夥伴,我創立了一個2000人學習扣群,479121291。每晚都有java的直播課程。無論是初級還是進階的小夥伴小編我都歡迎!

2、《演算法導論(第三版)》

被很多acmer coder奉為學演算法的經典之作,但不太適合初學者,因為它這本書很多內容只提供了虛擬碼,而沒有具體實現。但可以從這本書學資料結構和演算法最好,因為日後的程式語言對實現而言實際上並沒有特別大的障礙,只是適合與不適合的選擇罷了,而把想法轉換成程式語言才是對演算法知識的考驗。如果不想太過深入的話可以忽略掉第四部分(高階設計和分析技術)第五部分(高階資料結構)和第七部分(演算法問題選編),你會發現書其實比你想象中薄很多噢!

3、《計算機網路:自頂向下方法》

軟體學院的計算機網路教材,非常適合初學者,裡面將計算機網路從頂層到底層逐章分析了一遍,最好能夠結合一些實驗來輔助理解,裡面的講解比較抽象。

4、《STL原始碼剖析》

如果你是經常用c++刷演算法題的同學,那麼一定經常用STL的各種集合, vector, set, stack,queue等等。。它們的實現原理,在原始碼面前,了無祕密。

5、《Linux命令列與shell指令碼程式設計大全》

亞馬遜書店五星推薦!裡面大概講述了很多linux系統的使用和命令列等。 linux是Java後臺開發人員必知必會的作業系統,而命令列是使用linux系統必須要面對的對於不想裝linux系統的同學其實可以考慮使用騰訊雲學習一些linux相關的命令列知識(沒錯,不需要圖形介面),學生價一個月才一塊錢,跟月餅廠一個月十塊錢比起來也太划算了吧!而且用

linux也蠻酷的啊。再推薦一個神器: GitHub - robbyrussell/oh-my-zsh。

6、《圖解HTTP》

日本人著的介紹HTTP協議的書,對理解HTTP協議的一些細節有非常大的幫助,插畫也很多(日本人的行文風格,感覺就像看漫畫一樣),很容易就理解了。

7、《TCP/IP詳解卷一》

這本書能把枯燥的知識講得很細緻,Java培訓小編強烈推薦這本。看完相應章節後大概能夠明白為什麼TCP/IP要這麼設計了。面試的時候經常問到三次握手和四次揮手,還有各種狀態的轉移,TIME_WAIT的時間為什麼是2*MSL...

8、《UNIX網路程式設計卷一:套接字聯網API(第三版)》

中文版快800頁,這本書是把TCP/IP的細節講得很深很深。此外還有非常重要的基本套接字程式設計,就是寫網路程式的時候那些bind, accept, listen, send, receive函式之類的,內容非常多,但是這些是理解多路複用模型所需要掌握的。。。select/poll/epoll這些系統呼叫解決了什麼問題?事件機制能不能理解?就看這本書的前六章了。

9、《資料庫管理系統(原理與設計)》

這個也是web開發中離不開的東西,必須劃重點學會的是ER圖/SQL語句/儲存資料(磁碟|檔案|RAID|緩衝池等)/三大正規化/索引以及相應的資料結構/事務相關的所有概念,尤其重點學習SQL,附上學習連結 。之後學會使用mysql workbench來進行資料庫建模/逆向工程生成建表語句/根據SQL生成JAVA實體類等就不贅述了,開發過程中百度谷歌一下就知道啦,然後如果習慣在windows下開發的同學推薦利用navicat這個好東西,當然如果說想訓練自己寫sql語句的能力那純粹用命令列也無所謂。