很多Java初學(xué)者在學(xué)過一段時(shí)間會(huì)覺得Java學(xué)習(xí)最頭疼的不是語法結(jié)構(gòu)的繁雜,而是Java本身體系結(jié)構(gòu)的龐大。以至于自己不知道接下去該學(xué)什么,或者什么樣的知識(shí)才會(huì)對(duì)后續(xù)的學(xué)習(xí)有幫助。接下來的內(nèi)容將讓大家對(duì)Java學(xué)習(xí)的路線有個(gè)宏觀的把握。在與市場(chǎng)接軌的前提下,來給各位同學(xué)推薦相關(guān)學(xué)習(xí)的方向和技術(shù),以及學(xué)習(xí)到何種程度才能適應(yīng)基本的工作。
好多同學(xué)可能會(huì)有如下的疑問:
我已經(jīng)學(xué)完JDBC了,那樣參加工作夠用了嗎?
JavaSE學(xué)到什么樣的程度算是OK了呢?
東西好多啊,我改怎么學(xué)???我想做項(xiàng)目,不想學(xué)原理!
我把SSH都學(xué)完了,這樣出去能找到工作嗎?
我把SSH都學(xué)完了,那接下去我該學(xué)什么呢?
Android我到底要不要學(xué)呢?我看好多人都在學(xué)??!
..........……
下面的內(nèi)容將會(huì)帶你理清這些甚至更多疑問。
1.1Java學(xué)習(xí)總體方向
對(duì)于剛學(xué)習(xí)Java的同學(xué),應(yīng)該了解Java學(xué)習(xí)的大致結(jié)構(gòu)。當(dāng)然你能在OracleJava的主頁上看到還有如JavaFX、JavaDB這樣的技術(shù)。但是既然要和市場(chǎng)接軌,必然要有所取舍。
對(duì)于JavaSE是我們Java入門的開端,這塊內(nèi)容也就是大家所熟悉的坦克大戰(zhàn)、聊天軟件、五子棋這些桌面級(jí)項(xiàng)目所組成的。學(xué)完了JavaSE部分,接下來就該選擇方向了。
這里有兩點(diǎn)需要提出:
1)往分布式方向并不是一定要經(jīng)過JavaEE階段,但是,學(xué)習(xí)JavaEE對(duì)后續(xù)分布式的開發(fā)有莫大的好處。
2)JavaME雖然還在Oracle官網(wǎng)上屹立,但就市場(chǎng)來看,它的地位已經(jīng)明顯不如android高了。所以從目前來看,沒有必要學(xué)習(xí)JavaME。
1.2JavaSE中應(yīng)該關(guān)注的內(nèi)容
現(xiàn)在我們列出JavaSE的學(xué)習(xí)中應(yīng)該關(guān)注的方面,以及這些方面里主要涉及哪些核心內(nèi)容。大家可以根據(jù)自己的學(xué)習(xí)情況,對(duì)照這些條目,看看有沒有缺漏的內(nèi)容。在之前提到過如坦克大戰(zhàn)這樣的項(xiàng)目,這些確實(shí)能很好的涵蓋了大部分JavaSE的內(nèi)容,所以必要的項(xiàng)目是很關(guān)鍵的。
JavaSE大致可分為以下幾塊內(nèi)容:
對(duì)象導(dǎo)論:如何用面向?qū)ο蟮乃悸穪黹_發(fā)
深入JVM:Java運(yùn)行機(jī)制以及JVM原理
面向?qū)ο蟮奶卣鳎悍庋b、繼承、抽象、多態(tài)
數(shù)組和容器:容器的線程安全問題
I/O和NIO:NIO工作原理和應(yīng)用
并發(fā)編程:concurrent包
網(wǎng)絡(luò)編程:TCP/IP+BIO/NIOUDP/IP+BIO/NIO
JDBC框架和反射:JNDI、連接池、annotation等
其他:正則表達(dá)式、字符串等
在這里多提一點(diǎn),關(guān)于JavaSE學(xué)到什么深度才合適。其實(shí)對(duì)于后續(xù)學(xué)習(xí)JavaEE或者是Android來說,JavaSE你只要學(xué)會(huì)皮毛就足夠應(yīng)付了,當(dāng)然這里的皮毛是要求你熟練Java語法結(jié)構(gòu)和基本CRUD操作。
1.3JavaEE中該學(xué)點(diǎn)什么
JavaEE很雜,但是也很容易學(xué),因?yàn)槟阕鰩讉€(gè)網(wǎng)站大概就能把所有知識(shí)點(diǎn)串聯(lián)起來。所以JavaEE方向說好聽點(diǎn)兒的叫企業(yè)級(jí)應(yīng)用開發(fā),說難聽點(diǎn)兒的其實(shí)就是做網(wǎng)站。當(dāng)然并不局限于做網(wǎng)站。
對(duì)于JavaEE方向的學(xué)習(xí),重點(diǎn)在于能夠熟練的運(yùn)用各種編程框架,以及掌握各種框架構(gòu)成的核心思想。至于學(xué)什么框架,用什么應(yīng)用服務(wù)器,在學(xué)習(xí)的時(shí)候可以采用容易配置的,所有的同類服務(wù)都是類似的,精通了一個(gè),相似的學(xué)習(xí)就很快了。
JavaEE方向?qū)W習(xí)內(nèi)容
下面來具體的看各個(gè)模塊應(yīng)該學(xué)點(diǎn)兒什么:
序列化:XML、JSON與Java之間的序列化和反序列化
ORM:推薦學(xué)習(xí)Hibernate
JSP/Servlet:可以順帶著把JS學(xué)習(xí)了
Spring:IOC、AOP、SpringMVC
MVC:推薦學(xué)習(xí)Struts
WebService:JDK自帶webservice、CXF等框架
SOA:了解ESB、MQ等企業(yè)級(jí)應(yīng)用架構(gòu)。
EJB:主要了解思路??身槑е鴮W(xué)習(xí)JBOSS
其他:會(huì)使用JMS。了解JTA。
還是一點(diǎn),JavaEE方向的學(xué)習(xí)主要是會(huì)熟練運(yùn)用即可。大點(diǎn)兒的企業(yè)都會(huì)有自己的框架,技術(shù)含量大同小異。會(huì)用即可。當(dāng)然到了這個(gè)階段設(shè)計(jì)模式的學(xué)習(xí)也必不可少,設(shè)計(jì)模式可以穿插于各個(gè)框架中進(jìn)行學(xué)習(xí)。
1.4關(guān)于JavaEE之后應(yīng)該學(xué)點(diǎn)兒什么
對(duì)于大多數(shù)企業(yè)來說,如果你能掌握上面提到的相關(guān)技術(shù),并且熟悉SQL和Linux,那找個(gè)Java相關(guān)工作應(yīng)該是沒有問題的了。如果你想更深入的去應(yīng)用上面所學(xué)的知識(shí),分布式、搜索引擎、大數(shù)據(jù)處理等互聯(lián)網(wǎng)熱門技術(shù)都是你擴(kuò)寬技能的方向。
開源的Lucene是搜索引擎技術(shù)最好的入門,簡(jiǎn)單易學(xué),而且很多企業(yè)對(duì)搜索引擎的需求越來越大。諸如MINA、Kafka這樣的開源框架,是你步入分布式方向很好的基石。
如果你能了解Hbase、Mongo這樣的非關(guān)系型數(shù)據(jù)庫,那就更有利于你思考大數(shù)據(jù)的問題。
技術(shù)是學(xué)不完的,而且更新的速度一定比你學(xué)習(xí)的速度還要快。所以了解市場(chǎng)需求,了解技術(shù)的核心理念尤為重要。至于這一階段可以看什么書,有如下推薦:《分布式Java應(yīng)用基礎(chǔ)與實(shí)踐》、《Hadoop權(quán)威指南》等。
1.5你還需要了解點(diǎn)什么
學(xué)無止境,要想在計(jì)算機(jī)里走的順利點(diǎn)兒,你真的需要不斷的學(xué)習(xí)。
當(dāng)然有幾點(diǎn)在計(jì)算機(jī)學(xué)習(xí)中相當(dāng)重要:
1)學(xué)好英語:最好的資料往往都是英文的文檔。
2)學(xué)好專業(yè)基礎(chǔ)課:數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、網(wǎng)絡(luò)這些核心課程都是后續(xù)提高的基石。
3)多關(guān)心技術(shù)發(fā)展。
最新java視頻教程免費(fèi)下載(從入門到精通):http://www.bjpowernode.com/video.html
零基礎(chǔ)java自學(xué)教程:http://www.bjpowernode.com/tutorial_java_se/
以上就是北大青鳥長(zhǎng)沙麓谷校區(qū)java學(xué)院小編針對(duì)“零基礎(chǔ)Java入門基礎(chǔ)學(xué)習(xí)線路,內(nèi)涵學(xué)習(xí)視頻”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如果對(duì)于學(xué)習(xí)Java的學(xué)習(xí)計(jì)劃,怎么學(xué)才有效率,或者學(xué)完如果找工作的問題,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)推薦
零基礎(chǔ)學(xué)Java編程,這些內(nèi)容你一定要知道
學(xué)習(xí)Java編程了解一些免費(fèi)Java開發(fā)工具
初學(xué)者學(xué)Java編程真的很難?
新手自學(xué)Java編程需要多長(zhǎng)時(shí)間呢
學(xué)習(xí)Java編程可以做什么