2020年Java全套學(xué)習(xí)路線,月薪兩萬不是夢(mèng)。

學(xué)習(xí)Java之前自己一定要做好心理準(zhǔn)備,因?yàn)榻^大多數(shù)人都放棄了,留下來的就沒多少個(gè)。

大家可以了解一下一年讀計(jì)算機(jī)畢業(yè)的大概有多少人,畢業(yè)工作了做程序員相關(guān)的工作有多少人。

所謂的「科班」亦是如此,而自學(xué)Java的人,學(xué)幾個(gè)月放棄的人太多太多了。

如果此刻的你對(duì)Java還是有興趣的,你可以看看這篇文章,希望可以幫得到你。

也許大家會(huì)問,我學(xué)了Java能夠干什么呢?

現(xiàn)在Java按簡(jiǎn)單來說有兩種方向:后端和客戶端

一類是網(wǎng)頁開發(fā),JSP SQL等數(shù)據(jù)庫來開發(fā)一些網(wǎng)頁產(chǎn)品,

比如一些管理系統(tǒng)ERP、CRM等系統(tǒng),后臺(tái)數(shù)據(jù)統(tǒng)計(jì)系統(tǒng)等。

二類是移動(dòng)APP開發(fā),比如Android上的一些APP程序。

三類是一些H5的WEB APP開發(fā),這種也會(huì)用到JAVA。

當(dāng)然還有一些手機(jī)小游戲是會(huì)用到JAVA的。

四類是桌面小應(yīng)用。

JAVA的框架也十分多。如WEB類的Spring WebMVC+JPA

Java詳細(xì)的可分為:

1. Java SE(Java Platform,Standard Edition)。Java SE 以前稱為 J2SE。它允許開發(fā)和部署在桌面、服務(wù)器、嵌入式環(huán)境和實(shí)時(shí)環(huán)境中使用的 Java 應(yīng)用程序。Java SE 包含了支持 Java Web 服務(wù)開發(fā)的類,并為 Java Platform,Enterprise Edition(Java EE)提供基礎(chǔ)。

2. Java EE(Java Platform,Enterprise Edition)。這個(gè)版本以前稱為 J2EE。企業(yè)版本幫助開發(fā)和部署可移植、健壯、可伸縮且安全的服務(wù)器端 Java 應(yīng)用程序。Java EE 是在 Java SE 的基礎(chǔ)上構(gòu)建的,它提供 Web 服務(wù)、組件模型、管理和通信 API,可以用來實(shí)現(xiàn)企業(yè)級(jí)的面向服務(wù)體系結(jié)構(gòu)(service-oriented architecture,SOA)和 Web 2.0 應(yīng)用程序。

3. Java ME(Java Platform,Micro Edition)。這個(gè)版本以前稱為 J2ME。Java ME 為在移動(dòng)設(shè)備和嵌入式設(shè)備(比如手機(jī)、PDA、電視機(jī)頂盒和打印機(jī))上運(yùn)行的應(yīng)用程序提供一個(gè)健壯且靈活的環(huán)境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內(nèi)置的網(wǎng)絡(luò)協(xié)議以及對(duì)可以動(dòng)態(tài)下載的連網(wǎng)和離線應(yīng)用程序的豐富支持?;?Java ME 規(guī)范的應(yīng)用程序只需編寫一次,就可以用于許多設(shè)備,而且可以利用每個(gè)設(shè)備的本機(jī)功能。

說得更簡(jiǎn)單點(diǎn):

Java SE 是做電腦上運(yùn)行的軟件。

Java EE 是用來做網(wǎng)站的-(我們常見的JSP技術(shù))

Java ME 是做手機(jī)軟件的。

以上Java是做什么的,學(xué)了Java能夠干什么就說完了,但我想要學(xué)習(xí)了解Java該去怎么做呢?咱們接著往下看。

Java該怎么去學(xué)習(xí)呢?

我是建議零基礎(chǔ)看視頻入門的,原因有以下:

大部分零基礎(chǔ)學(xué)Java的同學(xué)都沒有比較好的理解能力,看視頻可以幫助你快速入門(視頻可以加速觀看)

避免踩坑。書上講的知識(shí)點(diǎn)的確是非常全,但有兩個(gè)問題:

①初學(xué)者抓不到重點(diǎn),可能對(duì)著細(xì)小的知識(shí)點(diǎn)猛學(xué)一頓,發(fā)現(xiàn)這個(gè)知識(shí)并沒多大的卵用。

②初學(xué)者不知道學(xué)習(xí)路線??磿皇峭晖暾麖念^看到尾的,很可能書上一段的知識(shí)點(diǎn)現(xiàn)在已經(jīng)沒用了,但是你還是費(fèi)勁去學(xué),既浪費(fèi)時(shí)間也浪費(fèi)自己的精力,最后什么也學(xué)不到。

看視頻能讓你抓住重點(diǎn),快速了解知識(shí)點(diǎn)。但總的來說是因人而異,有的人理解能力就是好,看書就很快就學(xué)會(huì)了。

知識(shí)點(diǎn)太多,學(xué)完就忘,記不住

要明確的是,我們寫代碼的不是背書,不是讓你將所有的API給記下來?,F(xiàn)在開發(fā)工具,提示功能已經(jīng)是比較好的了。在工作的時(shí)候忘了,也可以查百度/Google。

我們并不需要把所有的東西給記下來,重要的是:我們知道有這項(xiàng)技術(shù),這項(xiàng)技術(shù)能幫我們解決掉什么問題。

所以,在學(xué)習(xí)一項(xiàng)技術(shù)之前,必須要知道為什么。為什么需要學(xué)習(xí)這項(xiàng)技術(shù),不學(xué)的話行不行。學(xué)了這項(xiàng)技術(shù),我能解決什么問題。

如果不理解為什么要學(xué)習(xí)某項(xiàng)技術(shù),就去學(xué)用法和API。我認(rèn)為如果隔一陣子不用,的確是會(huì)忘記的。

比如說,如何你連“為什么要用多線程”你都無法用通俗的話來解釋清楚。

即便你當(dāng)時(shí)學(xué)習(xí)的時(shí)候知道多線程可以用xxx方式來創(chuàng)建,多線程的xxx的api。那再過兩個(gè)月,人家問你”Java多線程有什么用???”。

你想想你還能答什么,我認(rèn)為你是記不住“多線程可以用xxx方式來創(chuàng)建、多線程的xxx的api”這些知識(shí)點(diǎn)了。

重點(diǎn)的東西可以寫筆記記錄下來(這個(gè)也是因人而異,我身邊的大佬很多也不寫筆記。但是我是推崇寫筆記的)。

但Java該怎么去學(xué)習(xí),哪些知識(shí)點(diǎn)需要重點(diǎn)學(xué)習(xí),列舉以下比較詳細(xì)的學(xué)習(xí)路線:

第一:先學(xué)習(xí)Java的核心庫(JavaSE)

JavaSE的內(nèi)容包括:環(huán)境搭建、基礎(chǔ)語法、面向?qū)ο?、?shù)組、集合、常用類、IO流、反射機(jī)制、網(wǎng)絡(luò)編程……..

需要深入理解的知識(shí)點(diǎn):

  • 流程控制

  • 面向?qū)ο蟮母拍?/p>

  • Java語法

  • this指針、重寫和重載、final、static等等這些基礎(chǔ)的東西

  • 集合(包括泛型)

  • 常用的集合類

  • IO流

  • IO流代碼的編寫

  • (理解這些知識(shí)點(diǎn),能夠在有提示的情況下碼出代碼,但不要為了一些細(xì)節(jié)鉆牛角尖)

簡(jiǎn)單過一遍的知識(shí):

  • 異常

  • 多線程

  • 網(wǎng)絡(luò)編程

  • 反射機(jī)制

  • (你得知道這個(gè)知識(shí)點(diǎn)是干嘛用的,為什么要學(xué)這個(gè)知識(shí)點(diǎn),能看懂具體的代碼!)

第二:MySQL數(shù)據(jù)庫

搞定一門數(shù)據(jù)庫相關(guān)的課程,例如:MySQL、Oracle,搞定一個(gè)就可以了,目前互聯(lián)網(wǎng)公司,例如:京東、阿里等,他們都在使用MySQL,所以建議大家學(xué)習(xí)MySQL數(shù)據(jù)庫,小巧輕盈,免費(fèi),由于互聯(lián)網(wǎng)公司的項(xiàng)目訪問量比較大,所以一般會(huì)搭建數(shù)據(jù)庫的集群,可以一個(gè)數(shù)據(jù)庫不夠,所以需要搭建數(shù)據(jù)庫集群,為了應(yīng)付高并發(fā)。(搭建的比較多的時(shí)候,免費(fèi)就很重要了。)

第三:WEB前端

以后從事Java開發(fā),從事JavaEE開發(fā),主要開發(fā)的系統(tǒng)結(jié)構(gòu)是B/S結(jié)構(gòu)的,B指的是Browser,S指的是Server。要開發(fā)這種系統(tǒng),B端要會(huì),S端也要精通。WEB前端的學(xué)習(xí)就是學(xué)習(xí)B端技術(shù)。包括:HTML 、CSS、JavaScript(JS)、jQuery框架(底層對(duì)JS進(jìn)行了封裝)…HTML是名詞,CSS是形容詞,JavaScript是動(dòng)詞”

第四:WEB后端(JavaWEB)

WEB后端其實(shí)可以是很多種不同的編程語言,例如:PHP、C、C++、Java,他們都可以進(jìn)行WEB后端的開發(fā),我們既然選擇了比較火爆的Java,那么我們學(xué)習(xí)的后端一定是基于Java語言實(shí)現(xiàn)的,包括:Servlet、Filter、Jsp、EL、JSTL、MVC架構(gòu)模式、數(shù)據(jù)庫連接池(阿里巴巴的Druid連接池)、代理模式(動(dòng)態(tài)代理)。另外后端學(xué)習(xí)了之后,還要學(xué)習(xí)一個(gè)異步編程技術(shù)AJAX。(完成網(wǎng)頁的局部刷新,AJAX其實(shí)不屬于后端,是前端瀏覽器上的程序。)

學(xué)習(xí)到這里為止,表示Java基本/基礎(chǔ)的技術(shù)已經(jīng)學(xué)完了。但是這些最基層的技術(shù)在實(shí)際的開發(fā)中不會(huì)使用的,一般為了開發(fā)效率,都會(huì)使用大量的提前封裝好的框架。

第五:最好能夠停留下來,做一個(gè)項(xiàng)目。

這個(gè)項(xiàng)目最好能將之前所學(xué)全部串起來。(對(duì)以前的知識(shí)點(diǎn)進(jìn)行鞏固。)

這個(gè)項(xiàng)目最好是基于:Servlet + Jsp+AJAX+jQuery+MySQL….

在這個(gè)項(xiàng)目的開發(fā)過程中:大家一定要記住,目前比較好的項(xiàng)目自動(dòng)構(gòu)建工具:Maven是一定要精通的。還有一個(gè)就是團(tuán)隊(duì)協(xié)作開發(fā):Git/SVN是一定要會(huì)用的。(目前使用Git比較多一些。)

第六:學(xué)習(xí)高級(jí)框架

Spring、SpringMVC、MyBatis(持久層框架,這個(gè)框架互聯(lián)網(wǎng)公司使用比較多,因?yàn)榛ヂ?lián)網(wǎng)項(xiàng)目需要進(jìn)行SQL優(yōu)化,MyBatis的SQL優(yōu)化很方便,所以大部分都是使用MyBatis)

Struts2(很少使用了,使用這個(gè)的肯定是很老的項(xiàng)目)、Hibernate(傳統(tǒng)企業(yè),還有政府等可能會(huì)使用Hibernate。)

SpringBoot(新項(xiàng)目大部分使用的都是boot了。所以在項(xiàng)目中遇到還在使用SSM的一般都是遺留項(xiàng)目。)

當(dāng)你走到這里之后,基本上你可以出山了。(去找工作,8K的薪資應(yīng)該問題不大,但前提是你學(xué)的好。學(xué)習(xí)的深度夠了,廣度夠了。)

最重要的是你能持之以恒,保持熱度。

但是我怎么才能夠找到工作呢?

怎么樣才能找到工作

只要你能從零把一個(gè)項(xiàng)目搭建起來,能運(yùn)行在服務(wù)器上。用上的技術(shù)還不爛,那我認(rèn)為就可以找到Java的工作了。

其實(shí)學(xué)完上面的,認(rèn)認(rèn)真真花一個(gè)月從零自己寫一個(gè)達(dá)到找工作的門檻是不難的。但面試之前是一定需要刷面試題的。

如果還是學(xué)生的同學(xué)一定一定要參加校招,一定一定要刷算法題,鞏固計(jì)算機(jī)網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)庫的基礎(chǔ)。

但校招的話,那就意味著你的基礎(chǔ)掌握的非常非常好。

其實(shí)校招的話,是不怎么看你有多少經(jīng)驗(yàn),而是要看你基礎(chǔ)掌握了有多少,如果說校招不看基礎(chǔ)只看經(jīng)驗(yàn)得話,那我估計(jì)應(yīng)該是沒有多人通過校招。

校招主要看的不是項(xiàng)目經(jīng)驗(yàn),不管你做沒做過項(xiàng)目,要求計(jì)算機(jī)理論基礎(chǔ)必須很扎實(shí)。

  • JavaSE精通

  • 數(shù)據(jù)庫精通

  • 數(shù)據(jù)結(jié)構(gòu)+算法精通

  • javaweb中servlet 和 JSP規(guī)范理解的很到位 精通

  • 網(wǎng)絡(luò)通信細(xì)節(jié)精通

  • …..

所以想要自學(xué)Java可以找到一份工作,那就要看你自己怎么去對(duì)待這個(gè)事情了。

如果自己真的想要學(xué)習(xí),那就放棄現(xiàn)在的聯(lián)盟,吃雞等把自己的重點(diǎn)以及精力放到學(xué)習(xí)上吧。有時(shí)候你不逼自己一把你永遠(yuǎn)不知道自己有多厲害。

總結(jié)一句話:

加油吧,少年。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容