Java怎麼學?一些非常有用的書單和網站推薦

千鋒武漢 發表於 2022-01-12
Java

當下Java是最流行和最受歡迎的程式語言之一,由於其利用特性,許多軟體應用程式是使用Java開發的。因此,如果您想入行Java領域,掌握Java技能,系統全面學習Java是一個不錯的方法。那麼,Java怎麼學呢?下面小千列舉一些非常有用的書單和網站,還有推薦使用的工具,可以參考一下。

Java怎麼學?一些非常有用的書單和網站推薦

一、Java基礎

1、《瘋狂Java講義》

小千認為這是Java入門不錯的書籍。雖然真的很厚,不過裡面重複的話會寫很多遍(每天堅持看一點,一次性讀完,印象也會很深刻的)。。。對於這本書而言, 除了圖形介面程式設計以外,其他內容認真讀完並實踐一遍,會對理解Java Web有不少的幫助。

2、《Effective Java》

建議有一定專案經驗的人才去看這本書,裡面列舉了很多開發必須注意的條目。說實話這本書真的不那麼好看,但是你會發現在某些筆試題上會出現這本書的很多條目。

3、Intellij IDEA

學習Java怎麼能不知道有這麼個牛逼轟轟的IDE!可以說徹底提升了我的開發效率,簡直相見恨晚。

4、Maven

為什麼把Maven放在這裡?因為它蠻重要的(其實用gradle也可以)。一個解決Java web專案開發中所需要的依賴問題。

5、《Spring Boot實戰》

還在用xml配置各種依賴注入/資料來源/事務管理器?out啦!隨著微應用的流行,以註解替代xml配置的開發方式將越來越流行。作者沒有講太多廢話,內容基本都是說Spring Boot的某個特性然後舉個例子實戰,有利用SSH開發過簡單專案的同學可以嘗試一下。實際上學習任何一個框架的時候要先了解這個框架解決了什麼問題,只有理解了這個後才能更有針對性也更有效率地去進行學習。

6、《Head First設計模式》

隆重推薦這本神書,很有趣。剛開始讀覺得很深,但是和《輕量級Java EE企業應用實戰》一起看,思考那些設計模式存在的意義,會對軟體架構方面的知識豁然開朗。

7、《Java併發程式設計實踐》

又是個歪果仁寫的書,裡面詳細介紹了Java併發工具包Java、util、concurrent的各種工具以及很多的併發程式設計實踐之道,是併發程式設計的入門之作。

8、《Java併發程式設計的藝術》

國人寫的書,也是寫Java併發程式設計的,與上一本相比個人認為比較凝練/乾淨/易懂。

二、Java進階

1、《架構探險:從零開始寫Java Web框架》

作者叫黃勇,一本非常讓我拍手叫絕的書。首推!絕對乾貨!如果你不想看spring原始碼也沒有太大關係,這本書帶你一步步地開發出一個類似spring mvc的簡單框架,並且逐步地增加需求和完善,理解了每個細節對於理解Java Web的開發是很有幫助的。

2、《深入分析Java Web技術內幕》

這本書小千覺得是必看的,可以說是幫助最大的一本技術書籍,覆蓋了Java Web很多方面的知識,比如計算機網路|Tomcat結構|Spring架構|SpringMVC原理|模板引擎實現原理等,絕對很有收貨,足夠有深度也很有難度。

3、《Spring原始碼深度剖析》

一本比較詳細的書,其實對於閱讀原始碼,跟著作者的思路讀,再結合自己的斷點除錯進行學習的方式是不錯的。

4、《深入理解Java虛擬機器-(JVM高階特性與最佳實踐)》

想知道Java虛擬機器為什麼會幫你自動收集垃圾而不需要你管理資源釋放嗎?想知道Java虛擬機器的記憶體區域是如何劃分的嗎?想知道Java虛擬機器是如何唯一確定一個Java實現類,並且如何載入類的嗎?想知道JVM憑什麼能夠將遠端伺服器傳送的網路位元組載入到JVM記憶體,從而實現遠端過程呼叫的嗎?這本書你值得擁有!

5、500 lines or less

500行程式碼!儘管跟Java沒有太大關係,強烈推薦,裡面的程式主要是一些玩具輪子,都是用python實現的,學習這個主要是理解別的程式設計師在開發軟體的時候所做的決策/思路/取捨,雖然小編也沒看完,但是覺得這個資源很贊!!!

6、《MySQL技術內幕-InnoDB儲存引擎》

其實講道理這種書應該給DBA看才對,不知道為什麼Java Web開發也要看。有次面試就問到說對mysql資料庫的效能調優有什麼看法,所以就列在上面。

三、分散式系統

1、《大型網站技術架構:核心原理與案例分析》

李智慧著,確實是很好的入門書籍。實際上如果有作業系統和Web專案後臺開發的基礎話閱讀起來不會特別困難,主要內容是介紹當今企業應對大型網站高併發請求的種種策略。

2、《分散式Java應用-基礎與實踐》

這本書比較深,介紹分散式Java應用和相應的應用場景,什麼遠端過程呼叫(RPC)呀,基於服務的體系架構呀(SOA)等,同時也講了很多Java比較底層的知識,最後介紹構建高可用/可伸縮系統的工程經驗。

3、《大型分散式網站架構:設計與實踐》

與上一本書類似,不過這本書更偏向於"介紹"網際網路安全架構和分散式系統的各種元件(比如分散式快取|訊息佇列|搜尋引擎等)。目前只接觸了Redis,相應的元件實在太多了。此外對系統監控和資料分析等也做了相應介紹,這些我感覺比較偏向運維崗的工作人員。

4、《Redis實戰》

Redis的基本用法和在生產環境的應用,值得擁有,雖然書籍是用Python,不過官方github也有放Java的原始碼。

5、《Redis設計與實現》

Redis的原始碼解讀,怎麼說呢,反正比spring原始碼好讀太多了。而且作者讀得很用心,整理出了帶註釋版本的redis原始碼,去讀個痛快吧少年。

且學且珍惜,程式設計師是一個需要不斷學習的崗位,一日不讀書面目可憎,一日不寫程式碼手爪癢癢。想學好Java,想擁有真實的專案經驗,就來系統全面的學習一下吧。希望以上的分享能幫到大家!

本文來自千鋒教育,轉載請註明出處。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2851833/,如需轉載,請註明出處,否則將追究法律責任。