這些是轉(zhuǎn)載自他人的文章
Java - 收藏集 - 掘金(里面有各種鏈接):http://www.lxweimin.com/p/893b21dce761
一位資深程序員大牛給予Java初學者的學習路線建議(很好):主要講不同階段要學習的技術(shù)及知識
Java學習——入門階段(僅供參考):主要講入門階段要看的書籍和視頻
最全java學習路線圖 java學習指南:主要講大致要學的技術(shù)
[轉(zhuǎn):Java學習路線圖,專為新手定制的Java學習計劃建議]:從宏觀到具體,介紹了不同的技術(shù)及路線圖
以下是根據(jù)上面那些文章的歸納
Java學習宏觀介紹
這是系統(tǒng)知識,由下往上,依次是硬件、軟件、應(yīng)用方面的知識
這是對于Java的學習階段介紹
1.準備篇:適合基礎(chǔ)小白 ? ? ?目標:掌握JavaSE。
●技術(shù)點小節(jié):
●JAVA基礎(chǔ) ? ●JavaOOP基礎(chǔ) ? ●集合框架和數(shù)據(jù)結(jié)構(gòu) ? ?●異常處理
●XML解析 ? ?●JavaIO與網(wǎng)絡(luò)通信
實戰(zhàn):
1.班級學生考試成績分析系統(tǒng)1?
2.班級學生考試成績分析系統(tǒng)2
?3.班級學生考試成績分析系統(tǒng)3?
4.網(wǎng)站數(shù)據(jù)抓取業(yè)務(wù)實現(xiàn)
?5.根據(jù)業(yè)務(wù)需求分析目標網(wǎng)站數(shù)據(jù)
2.基礎(chǔ)篇:目標人群:擁有Java語言并可以實現(xiàn)網(wǎng)站爬取數(shù)據(jù)并分析
目標:掌握mysql,Oracle在各個平臺上的安裝及使用
技術(shù)點小節(jié):
●Mysql數(shù)據(jù)庫基礎(chǔ) ? ?●Mysql數(shù)據(jù)庫高級 ? ?●Oracle實戰(zhàn) ? ?●PL/SQL實戰(zhàn)
●JDBC ? ? ? ? ? ●數(shù)據(jù)庫連接池
實戰(zhàn):
1.電子銀行信息管理系統(tǒng); 2.班級信息管理系統(tǒng)
3.核心篇
適用/適合人群:Java SE 掌握比較扎實,可以開發(fā)較為復雜的信息管理系統(tǒng)
目標:
1.掌握HTML,CSS,JavaScript等前端基本技術(shù),并使用JSP,Servlet開發(fā)小型網(wǎng)站
2.使用框架技術(shù)開發(fā)大型網(wǎng)站
技術(shù)點小節(jié):
●JSP與Servlet實戰(zhàn) ? ? ? ? ? ●Ajax實戰(zhàn) (json更好) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ●過濾器與監(jiān)聽器
●Struts框架實戰(zhàn) ? ? ? ? ? ? ? ●Hibernate框架實戰(zhàn) ? ? ? ? ? ? ? ?●Spring框架實戰(zhàn)
●實戰(zhàn)
1.使用jQuery編寫購物網(wǎng)站的動態(tài)效果
?2.使用Servlet優(yōu)化購物網(wǎng)站的信息發(fā)布功能?
3.使用jQuery+Ajax+Servlet完成購物網(wǎng)站的頁面無刷新數(shù)據(jù)交互效果
?4.使用SSH框架編寫簡單的JavaWeb程序
?5.使用SSH框架優(yōu)化購物網(wǎng)站
4.進階篇
適用/適合人群:熟練使用SSH框架開發(fā)大型網(wǎng)站
目標:使用SSM框架開發(fā)OA辦公系統(tǒng)
●技術(shù)點小節(jié):
●Maven ? ? ? ? ? ? ●項目測試 ? ? ? ? ? ? ? ●使用MyBatis框架優(yōu)化數(shù)據(jù)層開發(fā)
●使用SpringMVC框架優(yōu)化展示層開發(fā) ? ? ? ? ? ●使用SpringBoot框架簡化JavaWeb開發(fā)
實戰(zhàn):
1.對自己搭建的JavaWeb項目進行測試評估 ? ? 2.使用SSM框架開發(fā)OA辦公系統(tǒng)
5.高級篇
適用/適合人群:熟練掌握SSM框架開發(fā)的開發(fā)者
目標:構(gòu)建分布式系統(tǒng),使用JavaEE應(yīng)用完成企業(yè)個性化需求
●技術(shù)點小節(jié):
●webUI ? ? ? ? ? ? ?●分布式大數(shù)據(jù)開發(fā) ? ? ? ? ? ? ●個性化需求
實戰(zhàn):OA系統(tǒng)二次開發(fā)
6.總結(jié)
初級階段:JavaSE、數(shù)據(jù)庫、前端
中級階段:Servlet、JSP、Ajax(Json更好)、JDBC
高級階段:Struts、Spring、Hibernate
進階階段:Maven ? ?MyBatis ? ?SpringMVC框架 ? ?SpringBoot框架
不同階段的主要書籍
1.書籍部分:
《Java語言程序設(shè)計-基礎(chǔ)篇》
? ? ? ?基本涵蓋了Java SE的核心基礎(chǔ)內(nèi)容,非常適合新手用來入門。
? ? ? ?在這里,我強烈推薦使用《Java語言程序設(shè)計-基礎(chǔ)篇》來入門。
? ? ? ? ??Java語言程序設(shè)計-基礎(chǔ)篇(第10版)源碼
《Java核心技術(shù)卷1》
? ? ? ? ? 這本書寫得也不錯,同樣可以用來入門。
? ? ? ? ? 但我個人覺得《Java語言程序設(shè)計-基礎(chǔ)篇》更適合用來入門(純屬個人看過之后,經(jīng)過對比得出的結(jié)論)。
《Java編程思想》:不朽的經(jīng)典著作。(參加工作一年以內(nèi))
? ? ? ? ? ?比較適合具備一定的Java語言基礎(chǔ)的讀者閱讀。
? ? ? ? ? ? 總而言之,這個階段的核心學習思想就是,在工作中實踐,并且更加深入的了解Java基礎(chǔ)。
《大話設(shè)計模式》:(參加工作1年到2年的同學):主要鍛煉設(shè)計思維
? ? ? ? ? ?我當時看的是《大話設(shè)計模式》這本書,并且寫了完整版的設(shè)計模式博客。
? ? ? ? ? ?因此,我要求大家,最多在你工作一年的時候,必須開始寫博客,而設(shè)計模式就是你博客的開端。
? ? ? ? ? 此外,你還需要看一些關(guān)于代碼編寫優(yōu)化的書。比如《重構(gòu) 改善既有代碼的設(shè)計》,《effective java》。
? ? ? ? ? ?總而言之,這個階段,你的核心任務(wù)就是提高你的代碼能力,要能寫出一手優(yōu)雅的代碼。
《深入理解Java虛擬機》(參加工作2年到3年的同學)
? ? ? ? ? 這本書絕對是Java開發(fā)者最重要的書,沒有之一。
? ? ? ? ?在我眼里,這本書的重要性還要高于《Java編程思想》。
? ? ? ? ? 這本書的內(nèi)容是幫助你全面的了解Java虛擬機,在這個階段,你一定已經(jīng)知道Java是運行在JVM之上的。所以,對于JVM,你沒有任何理由不了解它。
? ? ? ? ? 另外,在過去2年的工作當中,你肯定或多或少接觸過并發(fā)。我比較推薦《Java并發(fā)編程實戰(zhàn)》這本書。
? ? ? ? ? 只要你把這本書啃下來了,并發(fā)的部分基本已經(jīng)了解了十之六七。與此同時,這個階段你要做的事情還遠不止如此。這個時候,你應(yīng)該對于你所使用的框架應(yīng)該有了更深入的了解,對于Java的類庫也有了更深入的了解。
《深入理解計算機系統(tǒng)》 ??《tcp/ip詳解 卷一、二、三》 ? ? ??《數(shù)據(jù)結(jié)構(gòu)與算法》(參加工作3年到4年的同學這個階段的同學)
? ? ? ? 其中TCP/IP有三本書,但我們這里把這三本看成是一本大書。
? ? ? ? ?這三本分別適合三種人,《深入理解計算機系統(tǒng)》比較適合一直從事Java Web開發(fā)和APP后端開發(fā)工作的人群。《tcp/ip詳解 卷一、二、三》比較適合做網(wǎng)絡(luò)編程的人群,比如你使用netty去開發(fā)的話,那么就要對TCP/IP有更深入的了解。而《數(shù)據(jù)結(jié)構(gòu)與算法》這本書,則比較適合做計算研究工作的人,比如剛才提到的分布式計算。另外,我要強調(diào)的是,這里所說的適合,并不是其它兩本對你就沒有用。比如你做Java Web和APP后端開發(fā),《tcp/ip詳解 卷一、二、三》這本書對你的作用也是很大的。這里只是分出個主次關(guān)系而已,你要是時間足夠的話,能把三本都精讀那當然最好不過了。
參加工作4年到5年的同學經(jīng)過前面一年的歷練,相信你在自己所鉆研的領(lǐng)域已經(jīng)有了自己一定的見解,這個時候,技術(shù)上你應(yīng)該已經(jīng)遇到瓶頸了。這個時候不要著急提高自己的技術(shù),已經(jīng)是時候提高你的影響力了,你可以嘗試去一些知名的公司去提高你的背景,你可以發(fā)表一些文章去影響更多的人。當然,你也可以去Github創(chuàng)建一個屬于你的開源項目,去打造自己的產(chǎn)品。
2.視頻部分:
畢向東Java基礎(chǔ)
鏈接:http://pan.baidu.com/s/1o86dLvO密碼:dq9j
尚學堂高淇Java視頻教程
鏈接:http://pan.baidu.com/s/1skJU8Lf密碼:vkbp
至于視頻部分,兩個系列視頻教程都是比較不錯的Java入門基礎(chǔ)教程。
個人比較偏好高淇那個系列的視頻教程。
3.究竟是看書好呢?還是看視頻好呢?
看書的利弊:
? ? ? ? 利:看書學習到的知識比較系統(tǒng),全面。
? ? ? ? 弊:但是有些內(nèi)容會很抽象,讓人很難理解,導致你的閱讀速度降低,學習熱情降低。
看視頻的利弊:
? ? ? ? 利:傳授你一些經(jīng)驗之談,讓你少走一些彎路。提煉重點
? ? ? ?弊:很容易遺忘。這個問題可以通過做筆記和練習來解決。 ? ? 還有比較耗費時間。
小結(jié): ? ?1.既看書又看視頻。 ? ?2.要經(jīng)常練習