Java打怪升級成長學習路線圖,大佬是這樣煉成的!一定要收藏


技術日新月異,對於初入職場的同學來說,經常會困惑該往那個方向發展,這一點松哥是深有體會的。

網上的資料多如牛毛,但是很多時候我們缺的不是一個資料,而是一個學習規划!

就是說,做 Java 開發,我們應該從哪里開始學?應該學習哪些東西?應該按照什么樣的順序來學?

大二剛開始自學 Java 那會,最大的問題就是不知道該學什么,以及學習的順序,自己一個人摸索了很長時間,后來才逐步建立起自己的知識體系。

所以每次有小伙伴問我 Java 的學習規划時,我都能理解大家所處的困境。

Java 開發涉及到的領域非常多,對於開發者而言要掌握的東西也非常多,初入行的小伙伴甚至覺得這些要掌握的東西非常雜亂,其實不然!所有要學習的東西都是有內在關聯的。

今天就來和大家捋一捋 Java 學習路線圖,一起來看看都有哪些東西需要掌握,以及要按照什么樣的順序來學習。

 

1. 整體規划

Java 企業級開發涉及到的技能點實際上非常多,我將其大致歸為以下五類(文末可以獲取思維導圖):

在這個技術棧的基礎上,你可以繼續選擇走全棧道路或者走大數據方向。

有的小伙伴可能會糾結於要全面還是要精通某一方面,其實這個無所謂好壞,關鍵是要看你自己。你是想去大廠做一個某一領域的技術專家,還是想自己獨當一面,自己喜歡的才是最好的。

話說回來,即使你想鑽研某一方面,也不是說這些東西就不用學了,即使精通某一方面,也必然是先廣泛涉獵,再慢慢確定自己的方向。

松哥大學自學 Java 的時候就是這樣,當我不知道哪些東西重要哪些東西不重要的時候,我就都學,反正大學生有大把時間,我甚至連 Dreamweaver,Fireworks,Flash 三劍客都學了,甚至利用 Dreamweaver 上簡陋的功能做了一個動態網站。

這些東西你說學了沒用嗎?其實不見得。當我學了很多之后,在未來某一天,突然就頓悟了,把這些學過的東西串起來了,有一種醍醐灌頂的感覺。

接下來,這里五大塊松哥拆分開來分別給大家介紹。

 

2. JavaSE

先來看我畫的思維導圖(文末可以獲取思維導圖):

JavaSE 這塊其實沒啥值得說的,基礎的東西很多年都沒有變化。

很多公司,用的 Java8/9/10,實際上還是寫的 JDK1.5 的代碼,但是這並不意味着我們就不用學習了。Java8/9/10/11 中的一些新特性還是有必要去學習下,特別是現在 WebFlux 逐漸被人們重視,一些從 Java8 就開始萌芽的理念與技術還是很有必要掌握一下的。

 

3. 數據庫

先來看我畫的思維導圖(文末可以獲取思維導圖):

作為一名 Java 工程師,數據庫的重要性不言而喻,這算是基本功,我們不能老指望着 DBA,畢竟配有 DBA 的公司只是極少數。有句話叫做“SQL 寫得好,下班下得早”。

當然數據庫也有很多優化方面的問題,但是在大家剛剛開始學習的時候,我其實是不建議去學習數據庫優化、主從、集群、讀寫分離這些東西的,這些可以等到后面學習微服務的時候再去學習比較合適,在剛學習 Java 沒多久的情況下,就去學習數據庫優化,極有可能讓你對開發這條路打退堂鼓。

 

4. Web 基礎

先來看我畫的思維導圖(文末可以獲取思維導圖):

學習是給自己學的,不能偷懶,所以你看我這里列出來的知識點比較多,甚至又一些看起來好像過時的技術。

有人會糾結 EasyUI 要不要學,這個有點古老。我的意見是,如果你是在校大學生,那就學,反正有時間;如果你已經工作了,現在查漏補缺,那可以結合公司的技術棧決定要不要學。

其實 EasyUI 也不能算是邊緣化的東西,如果你前端不用 Vue、React 或者 Angular,EasyUI 絕對是一個無法忽視的存在,學習一下 EasyUI ,也能讓我們理解整個前端的一個發展過程。

一般來說,Web 基礎學完其實是可以自己做一些簡單的項目的鞏固一下知識點,這塊網上也有很多開源項目

 

5. 經典框架

先來看我畫的思維導圖(文末可以獲取思維導圖):

這里涉及到的東西就比較多了,也是學起來最最漫長的一部分。

這里我主要說說關注的幾個問題。

  1. SSH 還要學嗎

我們說的 SSH 一般是指 Spring、Struts2 以及 Hibernate。這三個里邊,可以確認不用學習的 Struts2,如果你大學剛畢業,進入到一家公司,用 Struts2 做開發,你進去干了三年,Struts2 用的滾瓜爛熟,出來跳槽卻發現沒有任何優勢,所以我不建議大家在 Struts2 上花時間。

至於 Hibernate ,這個我持保留態度。為什么這么說呢?

因為 Hibernate 和 Jpa 之間有着千絲萬縷的聯系,Spring Data Jpa 結合 Spring Boot,還是有很多公司在用,而如果你掌握了 Hibernate,在后面使用 Jpa 的時候上手很快.

  1. 消息中間件學哪個?

就我目前了解到的情況,JavaEE 項目中,RabbitMQ 和 RocketMQ 使用較多,大數據中 Kafka 用的較多,傳統的滿足 JMS 規范的 ActiveMQ 使用較少。因此小伙伴們可以結合這樣一個實際情況選擇合適的消息中間件學習順序。

 

6. 分布式/微服務相關

先來看我畫的思維導圖(文末可以獲取思維導圖):

這一塊,Spring Boot 和 Spring Cloud 是重點,這兩個又分別涉及到諸多知識點:

SpringBoot:

SpringCloud:

學習 Spring Boot 的基礎依然是 SSM,不建議跳過 SSM 直接學 Spring Boot.

Spring Boot 學完之后,也可以做個項目鞏固一下,推薦兩個開源項目:

  • https://github.com/lenve/vhr

  • https://github.com/lenve/VBlog

當你搞定了 SSM、搞定了 Redis、搞定了中間件,你再去學習 Spring Boot 就會發現他是如此簡單!

至於 Spring Cloud,雖然 Netflix 公司的幾個組件已經不打算繼續開源了,但是對於大家而言,我覺得還是有必要去學習一下的,畢竟也不難,花不了多少時間,而且學習這些組件可以幫助大家快速建立一個 Spring Cloud 知識體系。

 

有完整的Java初級,高級對應的學習路線和資料!專注於java開發。分享java基礎、原理性知識、JavaWeb實戰、spring全家桶、設計模式、分布式及面試資料、開源項目,助力開發者成長!


歡迎關注微信公眾號:碼邦主


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM