JavaWeb開發全棧技能——你需要的學習路線圖

鑒于很多人都在問怎么個學習路線,我貼個 Java Web 學習路線,僅供參考,但絕對夠找工作的了, 如下,都是可以免費找到的教程(請一定驗證是否完整),拼湊起來差不多剛夠學習 Java Web 了,只是銜接起來會有些不連貫,畢竟不是一個機構講的。

Java SE參考書籍:

參考視頻:傳智畢向東、尚學堂馬士兵、圣思園張龍的 JavaSE 視頻

《Thinking in Java》 ,只適合參考,但不適合做入門書,作者在官網提供了免費電子版,鏈接我就不放了,自己找

《Head First Java》,生動有趣,入門階段時間充足的話,建議翻翻

《Java All-In-One for Dummies》,見名知意,就是給新手看的書,自然特別啰嗦特別厚,建議用作參考,很詳細

2. 數據庫

參考視頻:

傳智劉道成的 MySQL 視頻教程

傳智韓忠康的 MySQL 視頻教程

以上兩個課程的講師都是講 PHP 的,所以視頻教程中會提到一些 PHP 內容,忽略就是了

參考書籍:

《MySQL Cookbook》,僅適合做參考

《SQL All-In-One for Dummies》,延續了 Dummies 系列一貫的風格,冗余而詳盡,適合查閱

建議:

先學 MySQL,然后對比學習 SQL Server 和 Oracle

畢竟主流數據庫都實現了 SQL 標準,區別只體現在各自提供的功能上

2.1 JDBC

參考視頻:

傳智李勇的(其他老師的忽略)JDBC 視頻教程, 這部分講的很全,基本不用看書

參考書籍:

《Core Java》 的 JDBC 章節還不錯

3. HTML、CSS、JS

參考視頻:

傳智韓順平的《輕松搞定網頁設計(html+css+js)》,講的一般,做入門湊合

妙味課堂的 HTML + CSS + JS,國內算講的不錯的,當然內容有點多,需要花更多時間

參考書籍:

DOM 部分可以參考《DOM 編程藝術》

深入 JS 建議參考《Javascript 權威指南》,原版更好,即:《Javascript: The Definitive Guide》,經典的犀牛書:

3.1 學習 JQuery

參考視頻

北風網李炎恢講的不錯,通俗易懂,貼近實戰

圣思園張龍講的也不錯,更多原理,例如:JS 的繼承和作用域鏈等等,很少有培訓班能講到

參考書籍

JQuery 多參考官方 API,google 關鍵詞 "jquery documentation" 即可

JQuery 的作者 John Resig 寫過一本 javascript 書,質量很好,有興趣的可以參考下:

3.2 EasyUI

這部分可以先不看,javascript 和 jquery 學的好,學這個沒難度,一天的事兒

EasyUI 國內使用特別廣泛,但國外似乎沒見過用這個的,可能是因為 UI 比較丑吧。。

EasyUI 官方文檔和 Demo 基本足夠,但官網經常被墻,請自備梯子

3.3 ExtJS

對 javascript 的基礎要求比較高,我不建議初學就接觸,可以在深入 JS 的機制后再學習

參考書籍:《ExtJS in Action》

3.4 Ajax

參考視頻:傳智王興魁老師的視頻教程

之前提到的 javascript 和 jquery 課程里,也都提到了 ajax 的內容

必要的話,請自行搜索 JQuery 對 Ajax 的支持

4. Java Web

參考視頻:傳智播客方立勛的 JavaWeb 視頻教程

參考書籍:《Head First: Servlet and JSP》

很形象的一本書,圖示很多,理解起來很舒服

雖然 08 年出版的,但并不過時

5. 輕量級 JavaEE 開發(所謂的 SSH)

Struts2

《Struts in Action》

《Apache Struts 2 Web Application Development - Dave Newton》 質量略低,做參考挺不錯的,按照知識點劃分的,查閱起來也很方便

中文版好像有《Struts 權威指南》之類的書

參考視頻:傳智黎活明、尚學堂馬士兵、圣思園張龍的 Struts2 視頻教程

參考書籍:

Spring

參考視頻:動力節點王勇、傳智黎活明的 Spring 視頻教程

培訓班講的都是 Spring 基礎,更多內容需要參照 Spring 官方的 reference,寫的比書還好

參考書籍:《Spring in Practice》

Hibernate

《Hibernate in action》

《Java Persistence with Hibernate 1st Edition 2006》,Hibernate 作者主編,雖然是 2006 年出版的,但核心內容講的很全面,非常值得參考

《Java Persistence with Hibernate 2nd Edition 2015.10》,最近到 Manning 官網發現第二版已發布,粗略看了下,全書以 JPA 為主線,Hibernate 特色做補充,隨書案例也是很不錯的,可能是為 hibernate 5 做的更新,畢竟是個大版本,挺多變化的

參考視頻:傳智湯陽光(推薦)、尚學堂馬士兵(經典但太老)的 Hibernate 視頻教程

參考書籍:

此時,基本企業開發技術都學過了,可以試著找工作,實習沒問題的,只是缺點項目經驗罷了

6. 自動構建,現在大多數項目都采用構建工具,但對應教程很稀少,能講清楚的也不多

常見構建工具: Maven / Gradle / Ant + Ivy 等

Gradle 可以參考 《Gradle in Action - Benjamin Muschko 2014》

Maven 可以參考《Maven 實戰》,沒錯,是為數不多寫的也不錯的國產書

Ant 常常和 Ivy 搭配使用,但現在一般使用 Maven 就足夠了,所以可以不學習,想了解的可以參考官方文檔

7. 我的忠告:

在培訓班講課的老師們,當年也都是自學過來的(他們那個年代還沒有軟件培訓班呢),從這個角度說,自學并非那么不現實,和人有關,和學習環境關系不大

如果你決心花一年時間學習,那就沒必要報班了, 因為自學最大的挑戰不是技術,而是解決問題過程中的煩躁、絕望和質疑

不要以為英文的書會浪費你的時間,事實上,當你習慣看英文資料后,你會節省很多時間,至少不會找亂七八糟的中文資料還搞不清楚怎么回事

工作中多參考官方文檔,不要以為學過了就會用了,好多細節不是老師能夠教給你的

Spring

Guice

例如 Spring Reference, 里面有很多原理性的東西,能讓你使用起來更有自信

熟悉 Spring 的,可以參考我的另一回答:spring有什么缺點嗎?

多熟悉 J2EE 的規范,如 CDI,適當了解規范的其他實現及其規范之外的特色

工作中不要什么都去自己從頭做,有些功能完全可以使用第三方類庫實現,例如

Guava ,支持泛型和函數式編程,源碼也值得學習

Apache Commons,這個太常見了,有很多功能不同的組件

對新技術要敏感一些,但不要一味追新,因為你永遠追不上,語言層面的 New Feature 要多少會用,也能說得上來優劣, 此外,JVM 上還有 Scala 和 Groovy 之類的語言,可以適當了解下

重要的永遠都是底層和基礎,大牛永遠都是這么說,站著說話不腰疼,不過確實如此,工作之余,了解一下常用的算法和理論,你不能指望自己不懂 TCP、HTTP、Socket 就直接使用 Netty 那種高度抽象的框架來實現很好的并發。

想系統學習可以參考以下學習路線圖

偶爾我會看到入門的人問如下幾個問題,如果你問了,該好好反省。

問題:誰有 CSDN 賬號啊,幫忙下個資料?

點評:CSDN 上能有什么好東西呢,竟然有人問我找 Spring 的幫助文檔,說是只有 CSDN 上有中文版本,我都無語了,你既然選擇了 Java 就不要逃避英文,任何時候都要首選英文文檔,而且,CSDN 上的東西翻譯質量亂七八糟,本來國外免費提供的東西它卻要積分下載,不必理會,直接去官網即可。

問題:這個問題怎么回事啊,求大神幫助。。最好遠程。。

點評:大神沒空搭理你,沒人愿意免費為你解答一個連描述都讓人看不懂的問題,甚至幫你遠程,再有,大神這個詞會讓老手覺得很別扭,讓人感覺你很慫,不適合做軟件。

問題:百度找不到答案,誰能給個 Demo 啊

點評:做技術用 Google, 不解釋,另外,別以為有 Demo 你就能快速學會什么東西,那只能讓你快速黏貼過來應付差事,留下的是亂七八糟的體系和原理不清楚,所以,請自己有個度。

關于筆記

寫程序的如果不會記筆記,就真的效率很低了,別告訴我你是用 Word 記筆記的,現在一般都使用 Markdown 記筆記(Sublime + MarkdownExtended),不知道的自己去 Google, 具體效果如下圖:

這么寫筆記

預覽如下:

自學 V.S 報班

自學者的疑慮:

如果是上班族一天三、四個小時的學習時間要多久才能達到可以就業的水平?

就你看來,自學和報班這兩種方式的優勢與劣勢各是什么?

上班族自學時間必然很長,從時間、機會成本考慮,值不值?

自學所需的視頻教程一定要成體系,而且每部分最好是完整的,否則,你可能學到某個階段發現剩下的視頻還沒有發布,也可能某個階段只學了一般發現沒有后續視頻了,在選擇視頻教程前,你需要 .Net 或 JavaWeb 完整的學習流程圖,根據每階段尋找對應的視頻教程循序漸進。

如果你的英文足夠好,在看視頻教程的時候一定要搭配英文電子書(文字版的,方便搜索),為什么這么做? 在我看過的多達 50G 的視頻教程里,講課的老師就算技術再牛,也有講的模糊的地方,甚至講錯的地方,甚至是忽悠你的地方!!這時候,你需要的可能不只是 Google 和 StackOverflow, 你需要與此配套的英文電子書, 首推 Manning 和 O'Reilly 出版的書。

報班的人一般有兩個考慮:

基本上四個月速成,省心,不用操心軟件、文檔、路線、課程等等

有老師帶著做項目,最后還能推薦工作。

最后:自學有自學的好處,報班有報班的好處。關鍵在于你怎么選擇。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 這篇文章是為了介紹自己自學用過的Java視頻資料。全部來自傳智播客旗下的黑馬程序員。也感謝傳智播客放出這么多優質的...
    bravo1988閱讀 3,020評論 1 5
  • 吃了兩塊蜀道香肉脯有感,所有的壞心情一掃而光~我吃過的以及還沒品嘗的美食是我生活的動力~豆腐怎么可以這么香勒~~~
    PeeWee閱讀 251評論 0 0
  • 考慮了無數個夜里,終于還是在深圳機場起飛了, 似乎沒當年那么激動、沒那種激情、比較現在是出差出現在那座城市里、 黃...
    MISYuan閱讀 515評論 1 1
  • 做安卓快三年了,從剛開始的一個一個控件基本屬性學習,到整個項目的開發,發現自己學習的時間越來越少,對新知識的渴望雖...
    昵稱為空看了看閱讀 211評論 2 1
  • 你會發現,隨著教育的越來越普及,渣男渣女卻越來越多。原因無他,一是良心這種東西,是學校里學不來的。第二個,越來越多...
    我的老師是只貓閱讀 971評論 0 1