Java發展了這么多年,應用范圍那么廣泛,方向不一樣,關注點就不一樣,比如JEE,Java服務器,微服務,大資料等等,下面直接來:
Java基礎知識
JavaSE
這是基礎,一定要好好學習!Java語法,面向物件(包括類、物件、方法、繼承、封裝、抽象、 多型、訊息決議等);
學會常見API,資料結構,集合框架,設計模式(包括創建型、結構型、行為型),多執行緒和并發,I/O流,Stream,網路編程,資料庫JDBC操作,
JavaEE
Java EE 是在 Java SE 的基礎上構建的,Java EE容器,Web容器,
常用框架(包括Hibernate、Mybatis、Spring),訊息服務,分布式事務,資料交換格式,Web Services,依賴注入,注解,開發規范,
JavaWeb
前端技術要重視,HTML, CSS, JavaScript,你可以嘗試自己寫一些頁面,并力讓它變得漂亮,
接下來是Servlet/JSP(J2EE)部分,這是Java后端開發必須精通的,關于這部分學習資源的選擇,業界比較認可的有馬士兵的視頻,《Servlet與JSP核心編程》等,當然,需要個人因需選擇,
JSP屬于行業淘汰的技術了,上面的原理學會熟悉為主,
最后,學會使用資料庫,MySQL作為Java主流的關系型資料庫是個不錯的入門選擇,它不僅要學會使用JDBC操作資料庫,還要學會使用資料庫客戶端工具,比如Navicat等,
框架知識
很多專案會用到即Spring+SpringMVC+MyBatis,它們常作為資料源較簡單的web專案的框架,你需要學會快速利用這三個框架的搭建,并用它們做出一個簡單的增刪改查的Web專案,在搭建SSM的程序中,有意識地了解一下Maven的知識,Netty框架知識,了解NIO/AIO.
不過,SpringBoot框架,才是目前主流,必須納入學習!
再補充推薦一個國外大佬的Java學習路線:



有條件的可以看看完整視頻:油管鏈接
Java書籍推薦
入門
《HeadFirst Java》
真正的入門書籍,輕松搞笑,可以通過玩游戲、拼圖、解謎題以及一些意想不到的方式與Java互動,再也不怕“從入門到放棄”,
如果你沒有學過其他語言亦或是轉行到計算機行業,可以先看看這本書,這本書圖文并茂條理清晰,非常容易理解,練習也足夠,可以讓你一口氣讀很久而不會覺得有什么地方遺漏或者根本沒記住,而且這本書可以讓你從語言基礎開始一直學習到包括執行緒、網路與分布式程式等專案,最重要的是,你將學會如何像個面向物件開發者一樣去思考,
《瘋狂Java講義》
可以算是國人原創必讀經典了,同樣非常適合初學者,講解內容細致全面,系統通俗,目錄劃分和查找非常方便,就算完全沒有基礎也可以學習,
進階
《Java編程思想》
這是一本所有的Java學習者都無法避開的經典之作,被譽為全球最好的Java書籍,不同水平的人讀這本書也會有不同的感覺,初學Java的時候也許會覺得學的非常慢,當你編程了一段時間之后再看這本書,你就會發現,你編程中遇到的問題在這本書中有很多的體現,這時候大概就是你進階的時候了,你讀這本書也會變得比從前輕松和愉快了,
這本書值得多看,
《Java 核心技術》
共兩卷,作為與《Java編程思想》齊名的大全式圖書,這本書的內容更加細致,偏重與講解Java計數,舉例說明了大量API,內容翔實、客觀準確,不拖泥帶水,所以相比于《Java編程思想》,更注重于實用性,而且這本書全面而且易懂,放在案旁用到的時候查一查、看一看,也是Java初學者和Java程式員的必備參考書,
《Effective Java》
谷歌首席架構師的大作,也是一本經典,介紹了在Java編程中78條極具實用價值的經驗規則,揭示了應該做什么,不應該做什么才能產生清晰、健壯和高效的代碼,并通過例子代碼加以進一步說明,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案,
初學者讀這本書可能沒有太深的體會,當你有那么一兩個專案的經驗,再讀這本書,就會發現書中提到的某個規則就是你在很多次作業經驗后總結出來的最準確的描述方式
不過,這本書的中文版翻譯不太好,有能力的話可以看原版,
《Java性能權威指南》
Java性能方面可能最好的一本書,深入介紹了JIT編譯器、垃圾收集演算法、執行緒同步等復雜問題,講解了很多應用性能分析以及優化的方法,詳盡講解了Java性能調優的相關知識,幫助讀者深入理解Java平臺性能的各個方面,適合所有想了解性能優化的Java程式員,
以上是一些基于Java語言本身的書籍推薦,然而,作為一名工程師,從撰寫可讀的代碼,到重構現有的代碼,再到設計模式,是編碼的必備法則,
設計能力
《HeadFirst 設計模式》
HeadFirst 系列的另一本書《HeadFirst 設計模式》,同樣是一本非常適合入門設計模式的書籍,沒有之一,這本書介紹 了23 個設計模式,同樣采用場景對話、打比方的方式來講解,巧妙地讓設計模式的理論在實際應用中體現出來,淡化了抽象性,
《設計模式》
經典之書,設計模式領域的開山鼻祖,必讀,并且值得多讀幾遍,雖然其中的例子是C++寫的,但也很適合Java學習者讀,
《設計模式決議》
如果你覺得《設計模式》太晦澀難懂,《Head First Design Pattern》又太不技術書籍了,那么這本《設計模式決議》就非常適合你,本書每章結束時都有小結和啟發性復習題,可以幫助你更好地了解自學得如何了,而且這本書只介紹了幾種比較常用簡單的設計模式,因而在學習程序中會很有成就感,
《重構:改善既有代碼設計》
好的代碼是重構出來的,而不是一開始就寫出來的,除非你的代碼不用于任何業務,本書從一個重構實體開始,用代碼和實體配合講解了各種耳熟能詳的重構方法,非常到位,總之,是一本程式員必讀書目,書中的示例代碼都是java寫的,
《代碼整潔之道》
篇幅不大,但卻能讓人受益匪淺,書中給了很多方法與規范,遵循它們可以寫出整潔的代碼,如何為函式,變數,型別準確的命名,如何減少注釋做到代碼即檔案,如何通過良好的編程規范減少錯誤的代碼等等,這些都需要在作業學習中總結經驗形成習慣,
Java精通到什么程度?
舉一反三,能夠熟練使用,快速開發自己想要的應用,即可,
排錯能力:應該可以根據例外資訊比較快速的定位問題的原因和大致位置
優化能力:代碼規范、有自己的代碼規范體系,代碼可讀性好
知識面廣:懂各種網路產品及特性,懂各種中間件,能夠知道坑在哪兒,深諳各種技術方案的優缺點,懂整合各種資源并達到最優....了解各種技術及應用場景,有足夠的作業經驗解決集成中遇到的各種奇葩問題
重要的事說三遍,java乃至所有的計算機技術,無論是作業系統,資料庫還是編程語言,都只不過是一種工具而已,跟其他比如外語,開車,做飯類似沒有什么本質上的區別,
那所有的工具都有一個特點,就是你不需要精通就能用了,精通只是一個長期目標!
問問自己懂下面的問題沒有?
1. 知道常用的api,并能熟練的掌握,這個是第一步,
2. 能夠模擬常見的資料結構,比如LinkedList,ArrayList, TreeMap,Stack,BlockingQueue,這遞增不僅可以理解資料結構還可以幫助學習jdk是如何實作的
3.掌握java經典的IO結構,包括BIO,NIO,AIO要深入的曉得JDK大體代碼結構
4.理解多執行緒,以及如何控制執行緒安全,包括同步器和信號量
5.理解JVM的記憶體布局,以及垃圾回收演算法,能很好的使用jdk自帶的調優工具
6. 研究OpenJDK,這需要一些c的知識,但這個時候恰恰可以很好的理解AQS等核心內容,到這個時候,語言已經不是問題,
三個天花板
架構師:研發團隊技術構建,技術生態的敏銳嗅覺,對大多數主流系統架構爛熟于心
技術管理/技術總監:產品管理、專案管理、團隊建設、團隊提升
CTO:發展戰略
最后整理不易,留個三連支持好文章!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/290243.html
標籤:java
上一篇:怎樣學好Java語言
下一篇:JAVA鎖機制
