首先Java全棧工程師首先必須精通Java,那么作為一個零基礎(chǔ)的人,要想成為Java全棧工程師步就是學(xué)好JavaSE(標(biāo)準(zhǔn)版),它是Java的標(biāo)準(zhǔn)版,是整個Java的基礎(chǔ)和核心,也是JavaEE和JavaME技術(shù)的基礎(chǔ),主要用于開發(fā)桌面應(yīng)用程序。
學(xué)習(xí)完JavaSE后,我們一般會學(xué)習(xí)JavaEE(企業(yè)版),它提供了企業(yè)級應(yīng)用開發(fā)的完整解決方案,比如開發(fā)網(wǎng)站,還有企業(yè)的一些應(yīng)用系統(tǒng),是Java技術(shù)應(yīng)用最廣泛的領(lǐng)域。也有極少部分人學(xué)習(xí)JavaME(微版),是一個技術(shù)和規(guī)范的集合,它為移動設(shè)備提供了Java環(huán)境的開發(fā)與應(yīng)用平臺,是用來做手機(jī)軟件的。
在學(xué)習(xí)JavaEE前呢,我們需要學(xué)習(xí)一些前端和數(shù)據(jù)庫的知識。其中前端知識主要包括HTML,CSS,JavaScript,JQuery,Ajax,EasyUI,bootstrap等等。數(shù)據(jù)庫知識呢,市場上主要流行的就是oracle和mySQL兩種數(shù)據(jù)庫,當(dāng)然也包含其他,我主要學(xué)習(xí)了這兩種。
在這期間,穿插學(xué)習(xí)了TCP,UDP協(xié)議,http協(xié)議,XML等知識,也是學(xué)習(xí)前端知識的一些重要知識點(diǎn)。
學(xué)完這些前端知識和數(shù)據(jù)庫后我們開始了正式的JavaEE知識的學(xué)習(xí)。Java EE平臺構(gòu)建于Java SE平臺之上,提供一組API和運(yùn)行環(huán)境來開發(fā)和運(yùn)行大規(guī)模的,多層的,可擴(kuò)展的,可靠的和安全的網(wǎng)絡(luò)應(yīng)用程序。JavaEE的核心知識Sevelet和JSP。
我們學(xué)習(xí)完JavaEE后,能夠開發(fā)一些Web應(yīng)用程序了,但是還遠(yuǎn)遠(yuǎn)不夠。我們還要學(xué)習(xí)一些框架,來讓我們更加快速的,高效的開發(fā)。Mybatis,Hibernate這兩種框架是兩個ORM(對象關(guān)系映射)持久層框架,mybatis是半自動的,需要自己寫sql語句。hibernate是全自動的,不需要自己寫sql語句。Spring是一個輕量級控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架,簡化了開發(fā)的復(fù)雜性。Structs2和SpringMVC是兩個MVC框架,主要職責(zé)就是從前臺接受數(shù)據(jù),經(jīng)過處理后,返回給前臺展示數(shù)據(jù)。
框架學(xué)習(xí)后,我們能夠更加快速,高效的開發(fā)Web應(yīng)用,但是還不夠,我們需要學(xué)習(xí)更多的知識來適應(yīng)更多的需求,比如:Linux,Maven,Redis,Dubbo,Solr,Hadoop,Spark等等。
完成這些主要知識的學(xué)習(xí)后,如果是零基礎(chǔ)的學(xué)習(xí)者,我們應(yīng)該繼續(xù)擴(kuò)展新的知識:設(shè)計(jì)模式,JVM虛擬機(jī)運(yùn)行原理,數(shù)據(jù)結(jié)構(gòu)與算法,網(wǎng)絡(luò)協(xié)議,計(jì)算機(jī)組成基礎(chǔ)等等。
一個優(yōu)秀的Java全棧工程師還必須掌握的技能?
成為一個優(yōu)秀的Web全棧工程師應(yīng)該具備哪些能力?收集了所有一線大廠的招聘需求,我歸納出了Web全棧開發(fā)需要掌握的技術(shù)方向:
1.PC、H5、Nodejs、小程序、移動端,掌握大前端所有技術(shù)棧
2.能夠?qū)崿F(xiàn)類Element-ui組件庫,設(shè)計(jì)Vue組件
3.掌握Vue/React源碼,MVVM庫原理
4.了解Koa2源碼,定制MVC開發(fā)框架
5.前端監(jiān)控、性能優(yōu)化、安全
6.自動化測試、發(fā)布、運(yùn)維
在未來,Java開發(fā)會變成一個必不可少的優(yōu)勢,伴隨著IT行業(yè)的不斷發(fā)展,你還在考慮什么呢?要想成為一名真正優(yōu)秀的全棧工程師,學(xué)習(xí)無疑是最需要做的。從前端的HTML/CSS、JavaScript、Ajax和JSON到后端的Node.js、Python、Java、PHP以及數(shù)據(jù)庫和Web存儲等知識都是需要學(xué)習(xí)的