一、2019新版Java學習路線圖---每階段市場價值及可解決的問題

二、2019新版Java學習路線圖---學習大綱及各階段知識點
三、2019新版Java學習路線圖---更新後新增知識點一覽
總結:
一.JavaSE基礎 (建議三個月)
主看劉意,輔看畢向東。(看一遍肯定是不行,至少兩遍)
兩人都是傳智的老師,後者的視訊稍微老一點,可結合來看,因為每個人的了解都會不同。
注:可嘗試使用Xmind畫思維導圖,隻有自己畫的才記得住。
(這個階段真不建議看書,因為基礎還是太薄弱,了解起來會很困難。)
口訣:
面向對象是基石,集合和IO是重要内容
常用API中,String及其相關類StringBuffer、StringBuilder是關鍵,必須熟練掌握
泛型一般隻出現在集合中,如果覺得太難,可先隻掌握集合中的泛型
反射非常抽象,雖然不是重點,但它是JavaWeb中很多難點的底層支撐
重點:面向對象、集合、IO、String及基相關類、反射、泛型
熟悉:異常、多線程
初步了解:正規表達式、網絡程式設計、Lambda表達式
二.JavaWeb前端部分 (建議兩個月)
推薦看崔希凡(+廣陵散)的,原因是他也是傳智的,同一學校的銜接度會較好。
缺點是沒有JQuery和bootstrap,隻能去菜鳥教程上補充學習。
另外,也可看一下方立勳(目前傳智的副總裁)的,内容更加全面些。
網上推薦最多的是尚學堂的馬士兵,視訊雖然很老了(JDK1.5),但卻是最适合初學者的。
首先我們可以學習一下Web前端的知識(此部分都簡單過一下就好了)
- HTML/CSS/JavaScript/jQuery
- CSS架構(都有中文手冊,很快就上手了,選一個自己喜歡的就好了):
- BootStrap:http://www.bootcss.com/
- Materialize:http://www.materializecss.cn/
到目前為止,學完上面這些可以搭建“能看”的靜态網頁了。曾經看過一段話來總結上面的技術:
- “HTML是名詞,CSS是形容詞,JavaScript是動詞”
重點:mysql、JDBC、linux、xml、servlet、redis、maven
- Tomcat(簡單過一下)
- XML/注解(簡單過一下)
- Servlet(重點了解)
- HTTP協定(重點了解)
- Filter過濾器(重點了解)
- Listener監聽器(簡單過一下)
- JSP(簡單過一下)
- AJAX、JSON(簡單過一下)
基于上面的學習,起碼已經可以使用request對象來接收前端發送過來的資料,
使用response對象将Java後端的資料傳回給前端,
使用Filter攔截器來進行中文亂碼問題(Tomcat預設的編碼是ISO-88591)。
總的來說已經可以實作前後端互動了!
三.資料庫學習
資料庫這裡指的是關系型資料庫,一般我們以MySQL來入門就足夠了。
主要學習SQL的基本使用吧:
- 建立表(create table)
- 增删改查(insert,delete,update,select)
- 對于存儲過程、觸發器這些了解一下即可
- 對于索引、鎖後面再學(此部分很重要,但以快速入門來說,可以先不看)
四.學習Java連接配接資料庫(JDBC)
到這裡,我們Java Web、資料庫、Web前端的基礎都已經基本學完了,但此時Java和資料庫是互相獨立的。
我們想要以程式的方式來對資料庫的資料進行操作,那就要學習一下Java連接配接資料庫(JDBC)。
JDBC這項技術并不難呀,就是模闆代碼,來來去去就幾個步驟:
- 導入MySQL或者Oracle驅動包
- 裝載資料庫驅動程式
- 擷取到與資料庫連接配接
- 擷取可以執行SQL語句的對象
- 執行SQL語句
- 關閉連接配接
由于這些代碼可能會重複出現,那我們可以學習一下DbUtils這個元件:可以幫我們減少編寫JDBC的模闆代碼。
五.項目管理和架構的學習
經過上面的學習,已經是可以在本地寫一個Web項目了。
- 頁面架構使用BootStrap/Materialize架構來搭好
- 請求處理交由Servlet,傳回的資料可以通過AJAX或者使用JSP,DAO層可以使用DbUtils。
- 資料儲存在MySQL中
為了讓寫代碼變得更爽,我建議用半天學一下Maven(項目管理工具),用幾天學一下SpringBoot。
- 從Servlet直接跳到SpringBoot可能有點難了解,但多搞幾天我相信還是可以的..
SSH架構(快速過一遍,雖然目前已經不用了)
1.崔希凡的Structs2,用來銜接JavaWeb,用來過渡
2.劉悅東的ssh架構
3.王澤(廣陵散)的2016ssh架構+ssh綜合項目實踐
可以先看崔希凡或者劉悅東的作為過渡,不然直接看王澤的可能會有些懵。
SSM架構(重點中的重點)
李旭的mybatis和springmvc
燕青的springmvc,mybatis由淺入深(傳智的老師)
尚矽谷佟剛的Mybatis從入門到精通(源碼級講授Mybatis)
重點:mybatis、spring、springMVC、oracle、maven
六.Linux學習
最後,我們在本地上寫完的項目想要讓其他人都看得見,一般都會部署在Linux環境下的。
(此部分的學習可以等到将項目寫完,想要部署項目才學習)
七.總結:
- Java基礎-->流程控制-->面向對象(包括Java文法)-->Java集合-->Java IO流-->異常-->多線程-->網絡程式設計-->反射
- JavaWeb基礎-->HTML/CSS/JavaScript/jQuery-->Tomcat-->XML/注解->Servlet-->HTTP-->Filter過濾器和監聽器-->JSP-->AJAX/JSON-->資料庫(MySQL)-->JDBC和DbUtils
- 項目管理和架構-->Maven-->SpringBoot
- Linux基本指令
最後我們的項目是這樣的:
- 以Maven來管理我們的項目
- 前端通過BootStrap來搭建頁面架構
- SpringBoot來搭建Java後端環境,SpringMVC處理前端請求(SpringBoot整合了)
- DAO層使用DbUtils元件來完成,MySQL作為資料庫
注意:
- 不要想着徹底掌握一塊知識點後再學下一塊,因為有些知識點需要串聯一塊去了解
- 在了解的前提下用最快的時間先過一遍,對整體學習路線有個把握