我個人覺得「精通」這個詞有點過,一般人是不會說自己精通某個東西,通常用熟練並掌握來說明你對某個技術有研究。下面 下麪是我總結的一些初中級Java程式設計師必備的知識:
總結:初中級 Java 程式設計師必須掌握的知識。
1.熟練掌握數據結構、演算法、操作系統、計算機網路等基礎知識
2.熟練掌握Java程式設計、熟悉Java高併發開發手段、對JVM 虛擬機器(Java記憶體區域、虛擬機器垃圾演算法、虛擬垃圾收集器、JVM記憶體管理)有一定研究
3.熟練掌握SOA分佈式系統開發,具有優化系統效能、提高系統併發量以及系統可用性的實際經驗
4.熟練掌握Struts2、Spring、Hibernate、Mybatis 等框架的使用,熟悉 Spring 原理
5.熟練掌握Dubbo、Zookeeper、常見的訊息佇列(比如ActiveMq)的使用
6.熟悉Linux 系統的使用,在Linux系統下具有實際的開發經驗
7.熟悉MySQL數據庫的使用、常見SQL語句的書寫以及常見的優化手段
8.掌握 Spring Boot +Spring Cloud +Docker
9.瞭解Hadoop 生態相關技術中的 HDFS、Storm、MapReduce、Hive、Hbase
那麼我們到底該如何入門Java後端呢?
這個問題應該是大部分初步跨入 Java 學習大門的朋友關心的問題。如果你只是爲了找一份工作而學習 Java 的話,那太簡單了。網上提供的什麼各種學習路線我覺得都是浮雲,最直接的就是看黑馬或者尚硅谷系列的視訊。下面 下麪我貼出了黑馬和尚硅谷 Java 培訓班系列視訊的圖片,可以說非常推薦了,這些視訊我也安利給了我自己的小學弟們。爲什麼安利給別人?因爲我自己大二系統學習 Java 就是看的這個,我本人覺得全網可能找不到比這個更好或者更系統地能讓你入門並具有實際開發經驗的東西了。
Java學習路線:
Java 該學習那些東西
很多初學者或者有經驗的開發者都會陷入這個泥潭:「不知道自己該學什麼?」。
我覺得最簡單的方法就是你去招聘官網上看看公司要求什麼技能,比如初級 Java 工程師的招聘要求肯定和高階 Java 工程師的招聘要求不一樣,阿裡的 Java 工程師的招聘要求肯定和 普通公司的Java 工程師招聘要求不一樣。
Java 程式設計師必備書單
這些書籍大部分我自己都看完了,非常不錯。大家如果需要這些書籍的 PDF資源可以新增我的Java新手學習交流羣:798844620,獲取,裏面有我做Java技術這段時間整理的一些學習手冊,面試題,開發工具,PDF文件書籍教學。
核心基礎知識
*《圖解HTTP》(推薦,豆瓣評分 8.1 , 1.6K+人評價): 講漫畫一樣的講HTTP,很有意思,不會覺得枯燥,大概也涵蓋也HTTP常見的知識點。因爲篇幅問題,內容可能不太全面。不過,如果不是專門做網路方向研究的小夥伴想研究HTTP相關知識的話,讀這本書的話應該來說就差不多了。
*《大話數據結構》(推薦,豆瓣評分 7.9 , 1K+人評價):入門型別的書籍,讀起來比較淺顯易懂,適合沒有數據結構基礎或者說數據結構沒學好的小夥伴用來入門數據結構。
*《數據結構與演算法分析:C語言描述》(推薦,豆瓣評分 8.9,1.6K+人評價):本書是《Data Structures and Algorithm Analysis in C》一書第2版的簡體中譯本。原書曾被評爲20世紀頂尖的30部計算機著作之一,作者Mark Allen Weiss在數據結構和演算法分析方面卓有建樹,他的數據結構和演算法分析的著作尤其暢銷,並受到廣泛好評.已被世界500餘所大學用作教材。
*《演算法圖解》(推薦,豆瓣評分 8.4,0.6K+人評價):入門型別的書籍,讀起來比較淺顯易懂,適合沒有演算法基礎或者說演算法沒學好的小夥伴用來入門。範例豐富,圖文並茂,以讓人容易理解的方式闡釋了演算法.讀起來比較快,內容不枯燥!
*《演算法 第四版》(推薦,豆瓣評分 9.3,0.4K+人評價):Java語言描述,演算法領域經典的參考書,全面介紹了關於演算法和數據結構的必備知識,並特別針對排序、搜尋、圖處理和字串處理進行了論述。書的內容非常多,可以說是Java程式設計師的必備書籍之一了。
Java相關
*《Effective java 》(推薦,豆瓣評分 9.0,1.4K+人評價):本書介紹了在Java程式設計中78條極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。通過對Java平臺設計專家所使用的技術的全面描述,揭示了應該做什麼,不應該做什麼才能 纔能產生清晰、健壯和高效的程式碼。本書中的每條規則都以簡短、獨立的小文章形式出現,並通過例子程式碼加以進一步說明。本書內容全面,結構清晰,講解詳細。可作爲技術人員的參考用書。
*《Head First Java.第二版》(推薦,豆瓣評分 8.7,1.0K+人評價): 可以說是我的Java啓蒙書籍了,特別適合新手讀當然也適合我們用來溫故Java知識點。
*《Java多執行緒程式設計核心技術》: Java多執行緒入門級書籍還不錯,但是說實話,品質不是很高,很快就可以閱讀完。
*《JAVA網路程式設計 第4版》: 可以系統的學習一下網路的一些概念以及網路程式設計在Java中的使用。
*《Java核心技術卷1+卷2》(推薦): 很棒的兩本書,建議有點Java基礎之後再讀,介紹的還是比較深入的,非常推薦。這兩本書我一般也會用來鞏固知識點,是兩本適合放在自己身邊的好書。
*《Java程式設計思想(第4版)》(推薦,豆瓣評分 9.1,3.2K+人評價):這本書要常讀,初學者可以快速概覽,中等程式設計師可以深入看看java,老鳥還可以用之回顧java的體系。這本書之所以厲害,因爲它在無形中整合了設計模式,這本書之所以難讀,也恰恰在於他對設計模式的整合是無形的。
*《Java併發程式設計的藝術》(推薦,豆瓣評分 7.2,0.2K+人評價): 這本書不是很適合作爲Java併發入門書籍,需要具備一定的JVM基礎。我感覺有些東西講的還是挺深入的,推薦閱讀。
*《實戰Java高併發程式設計》(推薦):豆瓣評分 8.3 ,書的品質沒的說,推薦大家好好看一下。
*《Java程式設計師修煉之道》: 很雜,我只看了前面幾章,不太推薦閱讀。
*《深入理解Java虛擬機器(第2版)周志明》(推薦,豆瓣評分 8.9,1.0K+人評價):建議多刷幾遍,書中的所有知識點可以通過JAVA執行時區域和JAVA的記憶體模型與執行緒兩個大模組羅列完全。
*《Netty實戰》(推薦,豆瓣評分 7.8,92人評價):內容很細,如果想學Netty的話,推薦閱讀這本書!
*《從Paxos到Zookeeper》(推薦,豆瓣評分 7.8,0.3K人評價):簡要介紹幾種典型的分佈式一致性協定,以及解決分佈式一致性問題的思路,其中重點講解了Paxos和ZAB協定。同時,本書深入介紹了分佈式一致性問題的工業解決方案——ZooKeeper,並着重向讀者展示這一分佈式協調框架的使用方法、內部實現及運維技巧,旨在幫助讀者全面瞭解ZooKeeper,並更好地使用和運維ZooKeeper。
JavaWeb相關
*《深入分析Java Web技術內幕》: 感覺還行,涉及的東西也蠻多。
*《Spring實戰(第4版)》(推薦,豆瓣評分 8.3 ,0.3K+人評價):不建議當做入門書籍讀,入門的話可以找點國人的書或者視訊看。這本定位就相當於是關於Spring的新華字典,只有一些基本概唸的介紹和範例,涵蓋了Spring的各個方面,但都不夠深入。就像作者在最後一頁寫的那樣:「學習Spring,這纔剛剛開始」。
*《Java Web整合開發王者歸來》(已過時):當時剛開始學的時候就是開的這本書,基本上是完完整整的看完了。不過,我不是很推薦大家看。這本書比較老了,裏面很多東西都已經算是過時了。不過,這本書的一個很大優點是:基礎知識點概括全面。
*《Redis實戰》:如果你想瞭解Redis的一些概念性知識的話,這本書真的非常不錯。
*《Redis設計與實現》(推薦,豆瓣評分 8.5,0.5K+人評價)
*《深入剖析Tomcat》(推薦,豆瓣評分 8.4,0.2K+人評價):本書深入剖析Tomcat 4和Tomcat 5中的每個元件,並揭示其內部工作原理。通過學習本書,你將可以自行開發Tomcat元件,或者擴充套件已有的元件。 讀完這本書,基本可以擺脫背誦面試題的尷尬。
*《高效能MySQL》(推薦,豆瓣評分 9.3,0.4K+人評價):mysql 領域的經典之作,擁有廣泛的影響力。不但適合數據庫管理員(dba)閱讀,也適合開發人員參考學習。不管是數據庫新手還是專家,相信都能從本書有所收穫。
*深入理解Nginx(第2版):作者講的非常細緻,註釋都寫的都很工整,對於 Nginx 的開發人員非常有幫助。優點是細緻,缺點是過於細緻,到處都是程式碼片段,缺少一些抽象。
*《RabbitMQ實戰指南》:《RabbitMQ實戰指南》從訊息中介軟體的概念和RabbitMQ的歷史切入,主要闡述RabbitMQ的安裝、使用、設定、管理、運維、原理、擴充套件等方面的細節。如果你想淺嘗 淺嚐RabbitMQ的使用,這本書是你最好的選擇;如果你想深入RabbitMQ的原理,這本書也是你最好的選擇;總之,如果你想玩轉RabbitMQ,這本書一定是最值得看的書之一
*《Spring Cloud微服務實戰》:從時下流行的微服務架構概念出發,詳細介紹了Spring Cloud針對微服務架構中幾大核心要素的解決方案和基礎元件。對於各個元件的介紹,《Spring Cloud微服務實戰》主要以範例與原始碼結合的方式來幫助讀者更好地理解這些元件的使用方法以及執行原理。同時,在介紹的過程中,還包含了作者在實踐中所遇到的一些問題和解決思路,可供讀者在實踐中作爲參考
*《第一本Docker書》:Docker入門書籍!
操作系統
《鳥哥的Linux私房菜》(推薦,,豆瓣評分 9.1,0.3K+人評價):本書是最具知名度的Linux入門書《鳥哥的Linux私房菜基礎學習篇》的最新版,全面而詳細地介紹了Linux操作系統。全書分爲5個部分:第一部分着重說明Linux的起源及功能,如何規劃和安裝Linux主機;第二部分介紹Linux的檔案系統、檔案、目錄與磁碟的管理;第三部分介紹文字模式介面 shell和管理系統的好幫手shell指令碼,另外還介紹了文字編輯器vi和vim的使用方法;第四部分介紹了對於系統安全非常重要的Linux賬號的管理,以及主機系統與程式的管理,如檢視進程、任務分配和作業管理;第五部分介紹了系統管理員(root)的管理事項,如瞭解系統執行狀況、系統服務,針對登錄檔案進行解析,對系統進行備份以及核心的管理等。
架構相關
*《大型網站技術架構:核心原理與案例分析+李智慧》(推薦):這本書我讀過,基本不需要你有什麼基礎啊~讀起來特別輕鬆,但是卻可以學到很多東西,非常推薦了。
*《億級流量網站架構核心技術》(推薦):一書總結並梳理了億級流量網站高可用和高併發原則,通過範例詳細介紹瞭如何落地這些原則。本書分爲四部分:概述、高可用原則、高併發原則、案例實戰。從負載均衡、限流、降級、隔離、超時與重試、回滾機制 機製、壓測與預案、快取、池化、非同步化、擴容、佇列等多方面詳細介紹了億級流量網站的架構核心技術,讓讀者看後能快速運用到實踐專案中。
*《架構解密從分佈式到微服務(Leaderus著)》:很一般的書籍,我就是當做課後圖書來閱讀的。
程式碼優化
*《重構_改善既有程式碼的設計》(推薦):豆瓣 9.1 分,重構書籍的開山鼻祖。
最後在入門學習Java的過程當中有遇見任何關於學習方法,學習路線,學習效率等方面的問題,你都可以申請加入我的Java新手學習交流羣:798844620,有任何不懂的都可以隨時在裏面問,裏面還有最新的Java基礎精講視訊教學,羣檔案裏面還有我做Java技術這段時間整理的一些學習手冊,面試題,開發工具,PDF文件書籍教學,需要的話都可以自行來獲取下載。