鄭州尚學(xué)堂Java培訓(xùn)專家發(fā)現(xiàn)很多的同學(xué)在學(xué)習(xí)JavaEE的路上走得很坎坷,夜以繼日的敲代碼學(xué)習(xí),卻發(fā)現(xiàn)事倍功半,有的時(shí)候遇到一個(gè)瓶頸真的很抓狂,鄭州尚學(xué)堂Java培訓(xùn)專家為大家整理了一篇很值得借鑒的學(xué)習(xí)路線圖文章,希望大家學(xué)習(xí)路上一帆風(fēng)順!
一、Java核心
這是學(xué)習(xí)Java的基礎(chǔ),掌握程度的深淺甚至直接影響后面的整個(gè)學(xué)習(xí)進(jìn)程。
Java的核心主要包括幾個(gè)部分:
1、初級(jí)的有語法基礎(chǔ)、面向?qū)ο笏枷搿?br />
學(xué)習(xí)任何一門語言語法都是必須的,因?yàn)镴ava的接近自然語言,也是一種相對(duì)比較容易學(xué)的語言。同時(shí)面向?qū)ο缶幊谈瞧浜诵乃枷?,要理解其?shí)只要記住一句話就行了,那就是:一切皆是對(duì)象。
2、中級(jí)的IO流、多線程、反射及注解等。
IO流程、多線程等是相對(duì)比較高級(jí)一點(diǎn)的了,通過學(xué)習(xí)我們會(huì)發(fā)現(xiàn)這些都很有用而且很有趣。例如我們可以讀取一個(gè)Excel文件、將一個(gè)文件分離,做一個(gè)時(shí)鐘、使用多個(gè)線程發(fā)送郵件等等很多有意思的事。另外反射及注解更是后面流行框架SSH等的基礎(chǔ),在使用中你便會(huì)慢慢感受到它的無窮魅力。
3、高級(jí)一點(diǎn)的就是設(shè)計(jì)模式和框架之類了。
要學(xué)習(xí)好一門語言,僅僅會(huì)使用還是不夠的,我們不僅要深入研究其原理,而且還要找到其一些共性的東西,從而減少反復(fù)的勞動(dòng),讓代碼可重用、更可靠且更容易被別人理解。
二、前端Web
現(xiàn)在來說Java*的應(yīng)用還是Web開發(fā)。那么作為Web開發(fā),對(duì)于前臺(tái)的知識(shí)的學(xué)習(xí)也是必須的,當(dāng)然并不是一定要按照前端工程師的標(biāo)準(zhǔn)去要求。但是一些基礎(chǔ)的知識(shí)也是必須要掌握的,畢竟Web應(yīng)用是前臺(tái)和后臺(tái)的一個(gè)交互的過程。像HTML、CSS、Javascript等都是基礎(chǔ)的知識(shí),另外作為開發(fā)人員對(duì)目前*的Javascript框架Juery更是必學(xué)不可的。
三、數(shù)據(jù)庫
有人說,所有的應(yīng)用無非就是數(shù)據(jù)的輸入、處理到輸出的過程。期間同時(shí)可能還會(huì)涉及到數(shù)據(jù)的存儲(chǔ)問題。對(duì)于結(jié)構(gòu)化的數(shù)據(jù),我們常用的還是像Oracle、Mysl和PostgreSL之類的關(guān)系型數(shù)據(jù)庫。同時(shí)針對(duì)數(shù)據(jù)庫編程還是PL/SL需要學(xué)習(xí)。使用Java訪問數(shù)據(jù)庫的話還有JDBC。那么對(duì)于非結(jié)構(gòu)化的數(shù)據(jù)以及大數(shù)據(jù)該如何處理呢?其實(shí)這里也已經(jīng)有了非常成熟的解決方案了,那便是Hadoop。就Hadoop而言他并不是一種思想,更多是一個(gè)實(shí)現(xiàn)了Mapreduce模式的框架。
四、J2EE
好了,前面這么多準(zhǔn)備的工作。下面我們進(jìn)入正題。作為Java開發(fā),CoreJava是核心,而作為JavaWeb開發(fā),我認(rèn)為Servlet才是核心。Servlet是服務(wù)器端的Java應(yīng)用程序,但是與普通的Java應(yīng)用程序不同的是,它是由web服務(wù)器來加載啟動(dòng),即我們常說的Servlet,如Tomcat便是servlet容器。另外談到J2EE開發(fā),這里有一個(gè)重要的模型不得不提一下,很多人其實(shí)已經(jīng)想到了,那便是MVC(模型-視圖-控制器)模型。在傳統(tǒng)的web開發(fā)中,往往是JavaBean充當(dāng)模型、JSP做視圖而Servlet作為控制器。
五、框架
說到框架,其實(shí)已經(jīng)提到了著名的MVC模型,SSH(Struts+Spring+Hibernate)就是一個(gè)非常好的實(shí)現(xiàn)。對(duì)于每一個(gè)框架的作用,我想就不用多說了。另外還有工作流開發(fā)的JBPM,搜索引擎Lucence及使系統(tǒng)對(duì)外提供接口的webservice應(yīng)用組件等都是應(yīng)該要掌握的。
六、服務(wù)器
關(guān)于服務(wù)器,像tomcat、jboss、weblogic及websphere等便不提了,因?yàn)樘毡榱?。這里要說的是Nginx,
Nginx (engine x)是一個(gè)高性能的HTTP和反向代理服務(wù)器。其以占有內(nèi)存少,并發(fā)能力強(qiáng)而著稱,連新浪、網(wǎng)易、騰訊這類*企業(yè)也在使用,所以還有什么理由不去學(xué)它呢?
七、工具
這里主要介紹幾個(gè)開發(fā)輔助工具。如日志工具Log4j、測(cè)試工具Junit、版本管理工具SVN還有項(xiàng)目管理maven等。
另外還有第三方插件Ectable。
八、項(xiàng)目示例
Springside是以Spring框架為核心的J2EE應(yīng)用參考示例,是JavaEE中的比較主流的技術(shù)選型及*實(shí)踐的總結(jié)與演示,非常值得一看。把它看透了,J2EE就差不多了甚至是比較厲害的了。
鄭州尚學(xué)堂Java培訓(xùn)專家覺得,說到底,對(duì)于技術(shù)的學(xué)習(xí),有一個(gè)規(guī)則是通用的,那便是實(shí)踐。把學(xué)習(xí)到的東西馬上用起來做出一個(gè)示例來,我認(rèn)為是一種比較好的學(xué)習(xí)方法。首先它是對(duì)零散知識(shí)的一個(gè)自然總結(jié),另外通過一些小示例的實(shí)踐,可以增加學(xué)習(xí)的興趣。而且可以通過示例,深入學(xué)習(xí)其實(shí)現(xiàn)的原理,加深掌握的程度且能更快的應(yīng)用到實(shí)際開發(fā)中,提高工作效率。