1.Java學(xué)習(xí)總體方向
對(duì)于剛學(xué)習(xí)Java的同學(xué)切威,了解Java學(xué)習(xí)的大致結(jié)構(gòu)育特。當(dāng)然你能在Orace Java的主頁(yè)上看到還有如Java FX、Java DB這樣的技術(shù)先朦。但是既然要和市場(chǎng)接軌缰冤,必然要有所取舍。
Java SE是我們Java入門的開端喳魏,這塊內(nèi)容也就是大家所熟悉的坦克大戰(zhàn)迷郑、聊天軟件、五子棋這些桌面級(jí)項(xiàng)目所組成的嗡害。學(xué)完了Java SE部分焚碌,接下來(lái)就該選擇方向了。
但這里有亮點(diǎn)需要提出:
往分布式方向并不是一定要經(jīng)過(guò)Java EE階段霸妹,但是十电,學(xué)習(xí)Java EE對(duì)后續(xù)分布式的開發(fā)有莫大的好處。
Java ME雖然還在Orace官網(wǎng)上屹立叹螟,但就市場(chǎng)來(lái)看鹃骂,它的地位已經(jīng)明顯不如adroid高了。所以從目前來(lái)看罢绽,沒(méi)有必要學(xué)習(xí)Java ME畏线。
2. Java SE中應(yīng)該關(guān)注的內(nèi)容
在這一節(jié)中寝殴,將列出Java SE的學(xué)習(xí)中應(yīng)該關(guān)注的方面,以及這些方面里主要涉及哪些核心內(nèi)容明垢。大家可以根據(jù)自己的學(xué)習(xí)情況杯矩,對(duì)照這些條目,看看有沒(méi)有缺漏的內(nèi)容袖外。在之前提到過(guò)如坦克大戰(zhàn)這樣的項(xiàng)目,這些確實(shí)能很好的涵蓋了大部分Java SE的內(nèi)容粘姜,所以必要的項(xiàng)目是很關(guān)鍵的鬓照。
Java SE大致可分為以下幾塊內(nèi)容:
對(duì)象導(dǎo)論:如何用面向?qū)ο蟮乃悸穪?lái)開發(fā)
深入JVM:Java運(yùn)行機(jī)制以及JVM原理
面向?qū)ο蟮奶卣鳎悍庋b、繼承孤紧、抽象豺裆、多態(tài)
數(shù)組和容器:容器的線程安全問(wèn)題
I/O和IO:IO工作原理和應(yīng)用
并發(fā)編程:cocurret包
網(wǎng)絡(luò)編程:TCP/IP+BIO/IO UDP/IP+BIO/IO
JDBC框架和反射:JDI、連接池号显、aotatio等
其他:正則表達(dá)式臭猜、字符串等
在這里我還想多提一點(diǎn),關(guān)于Java SE學(xué)到什么深度才合適押蚤。其實(shí)對(duì)于后續(xù)學(xué)習(xí)Java EE或者是Adroid來(lái)說(shuō)蔑歌,Java SE你只要學(xué)會(huì)皮毛就足夠應(yīng)付了,當(dāng)然這里的皮毛是要求你熟練Java語(yǔ)法結(jié)構(gòu)和基本CRUD操作揽碘。
可是這樣真的又夠了么次屠?好多工作了一兩年的程序員肯定又會(huì)慢慢懷疑自己的基礎(chǔ)是否足夠扎實(shí)园匹,于是他們又拿出了《Thikig I Java》重新通讀一遍〗僭睿基礎(chǔ)的重要性毋庸置疑裸违,越到后面你越會(huì)覺(jué)得框架什么的對(duì)你的提升幫助很小。而真正有用的還是對(duì)Java的深入理解本昏。所以如果你正在擔(dān)心你的Java基礎(chǔ)夠不夠供汛,層次到?jīng)]到應(yīng)該有的深度,那你應(yīng)該先慶幸下凛俱,至少你還想著如何提高自己的水平紊馏。
在這一階段,你應(yīng)該看看專門針對(duì)每一章節(jié)講解的書蒲犬,比如:《Java Cocurrecy i Practice》朱监、《Java IO》、《深入Java虛擬機(jī)》等原叮。資料很多赫编,但是需要你細(xì)細(xì)的去琢磨。
3. Java EE中該學(xué)點(diǎn)什么
Java EE很雜奋隶,但是也很容易學(xué)擂送,因?yàn)槟阕鰩讉€(gè)網(wǎng)站大概就能把所有知識(shí)點(diǎn)串聯(lián)起來(lái)。所以Java EE方向說(shuō)好聽(tīng)點(diǎn)兒的叫企業(yè)級(jí)應(yīng)用開發(fā)唯欣,說(shuō)難聽(tīng)點(diǎn)兒的其實(shí)就是做網(wǎng)站嘹吨。當(dāng)然并不局限于做網(wǎng)站。
對(duì)于Java EE方向的學(xué)習(xí)境氢,重點(diǎn)在于能夠熟練的運(yùn)用各種框架蟀拷,以及掌握各種框架構(gòu)成的核心思想。至于學(xué)什么框架萍聊,用什么應(yīng)用服務(wù)器问芬,在學(xué)習(xí)的時(shí)候可以采用容易配置的,所有的同類服務(wù)都是類似的寿桨,精通了一個(gè)此衅,相似的學(xué)習(xí)就很快了。
下面來(lái)具體的看各個(gè)模塊應(yīng)該學(xué)點(diǎn)兒什么:
序列化:XM亭螟、JSO與Java之間的序列化和反序列化
ORM:推薦學(xué)習(xí)hiberate
JSP/Servet:可以順帶著把JS學(xué)習(xí)了
sprig:IOC挡鞍、AOP、Sprig MVC
MVC:推薦學(xué)習(xí)Struts
Web Service:JDK自帶web service预烙、CXF等框架
SOA:了解ESB匕累、MQ等企業(yè)級(jí)應(yīng)用架構(gòu)。
EJB:主要了解思路默伍』逗伲可順帶著學(xué)習(xí)JBOSS
其他:會(huì)使用JMS衰琐。了解JTA。
還是一點(diǎn)炼蹦,Java EE方向的學(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í)虑省。
4.關(guān)于Java EE之后應(yīng)該學(xué)點(diǎn)兒什么
對(duì)于大多數(shù)企業(yè)來(lái)說(shuō)匿刮,如果你能掌握上面提到的相關(guān)技術(shù),并且熟悉SQ和iux探颈,那找個(gè)Java相關(guān)工作應(yīng)該是沒(méi)有問(wèn)題的了熟丸。如果你想更深入的去應(yīng)用上面所學(xué)的知識(shí),分布式伪节、搜索引擎光羞、大數(shù)據(jù)處理等互聯(lián)網(wǎng)熱門技術(shù)都是你擴(kuò)寬技能的方向。
開源的ucee是搜索引擎技術(shù)最好的入門怀大,簡(jiǎn)單易學(xué)纱兑,而且很多企業(yè)對(duì)搜索引擎的需求越來(lái)越大。
諸如MIA化借、Kafka這樣的開源框架潜慎,是你步入分布式方向很好的基石。
如果你能了解Hbase蓖康、Mogo這樣的非關(guān)系型數(shù)據(jù)庫(kù)勘纯,那就更有利于你思考大數(shù)據(jù)的問(wèn)題。
技術(shù)是學(xué)不完的钓瞭,而且更新的速度一定比你學(xué)習(xí)的速度還要快。所以了解市場(chǎng)需求淫奔,了解技術(shù)的核心理念尤為重要山涡。至于這一階段可以看什么書,有如下推薦:《分布式Java應(yīng)用基礎(chǔ)與實(shí)踐》唆迁、《Hadoop權(quán)威指南》等鸭丛。
5 .你還需要了解點(diǎn)什么
學(xué)無(wú)止境,要想在計(jì)算機(jī)里走的順利點(diǎn)兒唐责,你真的需要不斷的學(xué)習(xí)鳞溉。
當(dāng)然有幾點(diǎn)我認(rèn)為在計(jì)算機(jī)學(xué)習(xí)中相當(dāng)重要:
學(xué)好英語(yǔ):最好的資料往往都是英文的文檔。
學(xué)好專業(yè)基礎(chǔ)課:數(shù)據(jù)結(jié)構(gòu)鼠哥、操作系統(tǒng)熟菲、網(wǎng)絡(luò)這些核心課程都是后續(xù)提高的基石看政。
多關(guān)心技術(shù)發(fā)展。