- 相關(guān)推薦
Java技術(shù)怎么學(xué)習(xí)
對(duì)于很多只會(huì)C語(yǔ)言的初學(xué)者而言,面對(duì)java基礎(chǔ)語(yǔ)法學(xué)習(xí),反而感覺(jué)很難,其實(shí)其中最大的問(wèn)題不是語(yǔ)法難,而是一種編程思想的轉(zhuǎn)變。怎么學(xué)習(xí)才是正確的呢?下面是相關(guān)的知識(shí),歡迎閱讀。
1. 概述
學(xué)過(guò)一段時(shí)間的同學(xué)一定會(huì)覺(jué)得Java學(xué)習(xí)最頭疼的不是語(yǔ)法結(jié)構(gòu)的繁雜,而是Java本身體系結(jié)構(gòu)的龐大。以至于自己不知道接下去該學(xué)什么,或者什么樣的知識(shí)才會(huì)對(duì)后續(xù)的學(xué)習(xí)有幫助。本節(jié)內(nèi)容將讓大家對(duì)Java學(xué)習(xí)的路線有個(gè)宏觀的把握。在與市場(chǎng)接軌的前提下,我們會(huì)推薦給各位同學(xué)相關(guān)學(xué)習(xí)的方向和技術(shù),以及學(xué)習(xí)到何種程度才能適應(yīng)基本的工作。
好多同學(xué)可能會(huì)有如下的疑問(wèn):
我已經(jīng)學(xué)完JDBC了,那樣參加工作夠用了嗎?
Java SE學(xué)到什么樣的程度算是OK了呢?
東西好多啊,我改怎么學(xué)啊?我想做項(xiàng)目,不想學(xué)原理!
我把SSH都學(xué)完了,這樣出去能找到工作嗎?
我把SSH都學(xué)完了,那接下去我該學(xué)什么呢?
Adroid我到底要不要學(xué)呢?我看好多人都在學(xué)啊!
下面的內(nèi)容將會(huì)帶你理清這些甚至更多疑問(wèn)。
1.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入門的開(kāi)端,這塊內(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ù)分布式的開(kāi)發(fā)有莫大的好處。
Java ME雖然還在Orace網(wǎng)站上屹立,但就市場(chǎng)來(lái)看,它的地位已經(jīng)明顯不如adroid高了。所以從目前來(lái)看,沒(méi)有必要學(xué)習(xí)Java ME。
1.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)開(kā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ì)的去琢磨。
1.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)用開(kāi)發(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:主要了解思路?身槑е鴮W(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í)。
1.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ò)寬技能的方向。
開(kāi)源的ucee是搜索引擎技術(shù)最好的入門,簡(jiǎn)單易學(xué),而且很多企業(yè)對(duì)搜索引擎的需求越來(lái)越大。
諸如MIA、Kafka這樣的開(kāi)源框架,是你步入分布式方向很好的基石。
如果你能了解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)威指南》等。
1.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ā)展。
【Java技術(shù)怎么學(xué)習(xí)】相關(guān)文章:
新手怎么樣來(lái)學(xué)習(xí)Java編程03-18
Java技術(shù)三大特性03-29
新手如何學(xué)習(xí)Java07-06
如何學(xué)習(xí)JAVA開(kāi)發(fā)04-26
關(guān)于java的學(xué)習(xí)捷徑04-02
java學(xué)習(xí)路線分享12-02