你不可錯過的Java學習資源清單
學習Java和其他技術的資源其實非常多,但是我們需要取其精華去其糟粕,選擇那些最好的,最適合我們的,同時也要由淺入深,先易後難。基於這樣的一個標準,我在這裡為大家提供一份Java的學習資源清單。
Java入門學習資源
這裡主要推薦的是幾個技術學習網站,基本上都是視訊學習資源。
1 慕課網慕課網是做得比較好的程式設計師學習網站了。裡面主要提供的是視訊學習資源,主要適用於入門,當然其中也有一些進階的內容,不過一般都是收費的。
2 極客學院極客學院是我最早用於視訊學習的網站,當時主要是聽室友推薦,看了一些之後發現確實還不錯。不過比起慕課網,極客學院的內容可能少一點。
3 w3cSchool這個想必不說大家也知道,最適合入門的學習網站之一,有很多的學習資源,但是也只適合入門,你可以在一天內看完一門語言或技術,大概瞭解怎麼使用。
4 中國MOOC以前我以為這個和慕課網一樣,後來發現這個網站主要是做教育資源的,更像是在學校裡上課,裡面的很多資源都是高校老師提供的,所以想學習一些計算機基礎理論知識可以看看這個網站。
5 網易雲課堂&騰訊課堂這兩個網站大家也都知道,只不過他們不是專門做IT學習資源的,相對來說這方面的學習資源也會比較少一點。
Java後端技術專欄
對於校園招聘來說,最重要的還是基礎知識。下面的部落格專欄出自我的技術部落格:
https://blog.csdn.net/a724888
這些專欄中有一些文章是我自己原創的,也有一些文章是轉載自技術大牛的,基本都是是我在學習Java後端的兩年時間內陸續完成的。
總的來說算是比較全面了,做後端方向的同學可以參考一下。
深入淺出Java核心技術
https://blog.csdn.net/column/details/21930.html
本專欄主要介紹Java基礎,並且會結合實現原理以及具體例項來講解。同時還介紹了Java集合類,設計模式以及Java8的相關知識。
深入理解JVM虛擬機器
https://blog.csdn.net/column/details/21960.html
帶你走進JVM的世界,整合高質量文章以闡述虛擬機器的原理及相關技術,讓開發者更好地瞭解Java的底層執行原理以及相應的調優方法。
Java併發指南
https://blog.csdn.net/column/details/21961.html
本專欄主要介紹Java併發程式設計相關的基本原理以及進階知識。主要包括Java多執行緒基礎,Java併發程式設計基本原理以及JUC併發包的使用和原始碼解析。
Java網路程式設計與NIO
https://blog.csdn.net/column/details/21963.html
Java網路程式設計一直是很重要的一部分內容,其中涉及了socket的使用,以及Java網路程式設計的IO模型,譬如BIO,NIO,AIO,當然也包括Linux的網路程式設計模型。
瞭解這部分知識對於理解網路程式設計有很多幫助。另外還補充了兩個涉及NIO的重要技術:Tomcat和Netty。
JavaWeb技術世界
https://blog.csdn.net/column/details/21850.html
從這裡開始開啟去往JavaWeb世界的大門。什麼是J2EE,什麼是JavaWeb,以及這個生態中常用的一些技術:Maven,Spring,Tomcat,Junit,log4j等等。
我們不僅要了解怎麼使用它們,更要去了解它們為什麼出現,其中一些技術的實現原理是什麼。
Spring與SpringMVC原始碼解析
https://blog.csdn.net/column/details/21851.html
本專欄主要講解Spring和SpringMVC的實現原理。 Spring是最流行的Java框架之一。
本專欄文章主要包括IOC的實現原理分析,AOP的實現原理分析,事務的實現原始碼分析等,當然也有SpringMVC的原始碼解析文章。
重新學習MySQL與Redis
https://blog.csdn.net/column/details/21877.html
本專欄介紹MySQL的基本知識,比如基本架構,儲存引擎,索引原理,主從複製,事務等內容。當然也會講解一些和sql語句優化有關的知識。
同時本專欄裡也介紹了Redis的基本實現原理,包括資料結構,主從複製,叢集方案,分散式鎖等實現。
分散式系統理論與實踐
https://blog.csdn.net/column/details/24090.html
本專欄介紹分散式的基本理論和相關技術,比如CAP和BASE理論,一致性演算法,以及ZooKeeper這類的分散式協調服務。
在分散式實踐方面,我們會講到負載均衡,快取,分散式事務,分散式鎖,以及Dubbo這樣的微服務,也包括訊息佇列,資料庫中介軟體等等。
後端技術雜談
https://blog.csdn.net/column/details/25481.html
本專欄涵蓋了大後端的眾多技術文章,當你在Java後端方面有一定基礎以後,再多瞭解一些相關技術總是有好處的。
除了Java後端的文章以外,還會涉及Hadoop生態,雲端計算技術,搜尋引擎,甚至包括一些資料探勘和AI的文章。
總的來說選取了一些不錯的基礎類文章,能讓你對大後端有一個更直觀的認識。
Java工程師書單
我之前專門寫了一篇文章介紹了Java工程師的書單,可以這裡重點列舉一些好書,推薦給大家。
完整內容可以參考這篇文章:
Java工程師必備書單
《計算機網路:自頂向下》這本從應用層講到物理層,感覺這種方式學起來更輕鬆。
《圖解演算法》《啊哈演算法》
這兩部書籍非常適合學習演算法的入門,前者主要用圖解的形式覆蓋了大部分常用演算法,包括dp,貪心等等,可以作為入門書,後者則把很多常用演算法都進行了實現,包括搜尋,圖,樹等一些比較高階的常用演算法。
《劍指offer》這本書還是要強烈推薦的,畢竟是面試題經常參考的書籍,當然最好有前面基本的鋪墊再看,可能收穫更大,這本書在面試之前一般都要嚼爛。如果想看Java版本的程式碼,可以到我的Github倉庫中檢視。
《Java程式設計思想》這本書也是被譽為Java神書的存在了,但是對新手不友好,適合有些基礎再看,當然要選擇性地看。我當時大概只看了1/3
《Java核心技術卷一》 這本書還是比較適合入門的,當然,這種厚皮書要看完還是很有難度的,不過比起上面那本要簡單一些
《深入理解JVM虛擬機器》 這本書是Java開發者必須看的書,很多jvm的文章都是提取這本書的內容。JVM是Java虛擬機器,賦予了Java程式生命,所以好好看看把,我自己就已經看了三遍了。
《Java併發程式設計藝術》 這本書是國內作者寫的Java併發書籍,比上面那一本更簡單易懂,適合作為併發程式設計的入門書籍,當然,學習併發原理之前,還是先把Java的多執行緒搞懂吧。
《深入JavaWeb技術內幕》 這本書是Java Web的集大成之作,涵蓋了大部分Java Web開發的知識點,不過一本書顯然無法把所有細節都講完,但是作為Java Web的入門或者進階書籍來看的話還是很不錯的。
《Redis設計與實現》 該書全面而完整地講解了 Redis 的內部執行機制,對 Redis 的大多數單機功能以及所有多機功能的實現原理進行了介紹。這本書把Redis的基本原理講的一清二楚,包括資料結構,持久化,叢集等內容,有空應該看看。
《大型網站技術架構》 這本淘寶系技術指南還是非常值得推崇的,可以說是把大型網站的現代架構進行了一次簡單的總結,內容涵蓋了各方面,主要講的是概念,很適合沒接觸過架構的同學入門。看完以後你會覺得後端技術原來這麼博大精深。
《分散式服務框架原理與實踐》 上面那本書講的是分散式架構的實踐,而這本書更專注於分散式服務的原理講解和對應實踐,很好地講述了分散式服務的基本概念,相關技術,以及解決方案等,對於想要學習分散式服務框架的同學來說是本好書。
《從Paxos到Zookeeper分散式一致性原理與實踐》 說起分散式系統,我們需要了解它的原理,相關理論及技術,這本書也是從這個角度出發,講解了分散式系統的一些常用概念,並且帶出了分散式一哥zookeeper,可以說是想學分散式技術的同學必看的書籍。
《大資料技術原理與應用》 作為大資料方面的一本教材,廈大教授寫的這本書還是非常讚的,從最基礎的原理方面講解了Hadoop的生態系統,並且把每個元件的原理都講得比較清楚,另外也加入了spark,storm等內容,可以說是大資料入門非常好的一本書了。
技術社群推薦
學習Java後端兩年的時間裡,接觸過很多的資料,網站和課程,也走了不少彎路,所以這裡也總結一些比較好的資源推薦給大家。
0 CSDN和部落格園主流的技術交流平臺,雖然廣告越打越多了,但是還是有很多不錯的博文的。
1 importnew 專注Java學習資源分享,適合Java初學者。
2 併發程式設計網主要分享Java相關進階內容,適合Java提高。
3 推酷 一個不錯的技術分享社群。
4 segmentfault有點像國內的Stack Overflow,適合交流程式碼問題的地方。
5 掘金一個很有極客範的技術社群,強推,有很多技術大牛分享優質文章。
6 開發者頭條一個整合優質技術部落格的社群,裡面基本上都是精選的高質量博文,適合技術學習提升。
7 v2ex一個極客社群,除了交流技術以外還會有很多和程式設計師生活相關的話題分享。
8 知乎這個就不必多說了。我在知乎上也有Java技術和校招的專欄,有興趣的同學可以看看:
https://www.zhihu.com/people/h2pl
9 簡書簡書上有些技術文章也很不錯,有空大家也可以去看看。
10 Github
有一些GitHub的專案還是非常不錯的,其中也有倉庫會分享技術文章。
我的GitHub:https://github.com/h2pl
技術大牛推薦
1 江南白衣這位大大絕對是我的Java啟蒙導師,他推薦的Java後端書架讓我受益匪淺。
2 碼農翻身劉欣,一位工作15年的IBM架構師,用最淺顯易懂的文章講解技術的那些事,力薦,他的文章幫我解決了很多困惑。
3 CoolShell陳皓老師的部落格相信大家都看過,乾貨很多,酷殼應該算是國內最有影響力的個人部落格了。
4 廖雪峰學習Git和Python,看它的部落格就夠了。
5 HollisChuang阿里一位研發大佬的部落格,主要分享Java技術文章,內容還不錯。
6 樑桂釗阿里另一位研發大佬,部落格裡的後端技術文章非常豐富。
7 chenssy這位大佬分享的Java技術文章也很多,並且有很多基礎方面的文章,新手可以多看看。
8 Java Doop一位魔都Java開發者的技術部落格,裡面有一些不錯的講解原始碼的文章,數量不是很多,但是質量都挺不錯的。
微信公眾號
個人公眾號:黃小斜
黃小斜是跨考軟體工程的 985 碩士,自學 Java 兩年,拿到了 BAT 等近十家大廠 offer,從技術小白成長為阿里工程師。
作者專注於 JAVA 後端技術棧,熱衷於分享程式設計師乾貨、學習經驗、求職心得和程式人生,目前黃小斜的CSDN部落格有百萬+訪問量,知乎粉絲2W+,全網已有10W+讀者。
黃小斜是一個斜槓青年,堅持學習和寫作,相信終身學習的力量,希望和更多的程式設計師交朋友,一起進步和成長!
原創電子書:
關注公眾號【黃小斜】後回覆【原創電子書】即可領取我原創的電子書《菜鳥程式設計師修煉手冊:從技術小白到阿里巴巴Java工程師》
程式設計師3T技術學習資源: 一些程式設計師學習技術的資源大禮包,關注公眾號後,後臺回覆關鍵字 “資料” 即可免費無套路獲取。
考研複習資料:
計算機考研大禮包,都是我自己考研複習時用的一些複習資料,包括公共課和專業的複習視訊,這裡也推薦給大家,關注公眾號後,後臺回覆關鍵字 “考研” 即可免費獲取。
技術公眾號:Java技術江湖
如果大家想要實時關注我更新的文章以及分享的乾貨的話,可以關注我的公眾號【Java技術江湖】一位阿里 Java 工程師的技術小站,作者黃小斜,專注 Java 相關技術:SSM、SpringBoot、MySQL、分散式、中介軟體、叢集、Linux、網路、多執行緒,偶爾講點Docker、ELK,同時也分享技術乾貨和學習經驗,致力於Java全棧開發!
Java工程師必備學習資源: 一些Java工程師常用學習資源,關注公眾號後,後臺回覆關鍵字 “Java” 即可免費無套路獲取。
本文由部落格一文多發平臺 OpenWrite 釋出!