Java學(xué)習(xí)路線
本文關(guān)鍵詞:java學(xué)習(xí)路線,由筆耕文化傳播整理發(fā)布。
java學(xué)習(xí)路線
第1講 java學(xué)習(xí)路線&怎么學(xué)習(xí)Java
1 概述
學(xué)過一段時間的同學(xué)一定會覺得Java學(xué)習(xí)最頭疼的不是語法結(jié)構(gòu)的繁雜,而是Java本身體系結(jié)構(gòu)的龐大。以至于自己不知道接下去該學(xué)什么,或者什么樣的知識才會對后續(xù)的學(xué)習(xí)有幫助。本節(jié)內(nèi)容將讓大家對Java學(xué)習(xí)的路線有個宏觀的把握。在與市場接軌的前提下,我們會推薦給各位同學(xué)相關(guān)學(xué)習(xí)的方向和技術(shù),以及學(xué)習(xí)到何種程度才能適應(yīng)基本的工作。
好多同學(xué)可能會有如下的疑問:
l 我已經(jīng)學(xué)完JDBC了,那樣參加工作夠用了嗎?
l Java SE學(xué)到什么樣的程度算是OK了呢?
l 東西好多啊,我改怎么學(xué)��?我想做項目,不想學(xué)原理!
l 我把SSH都學(xué)完了,這樣出去能找到工作嗎?
l 我把SSH都學(xué)完了,那接下去我該學(xué)什么呢?
l Android我到底要不要學(xué)呢?我看好多人都在學(xué)��!
……
下面的內(nèi)容將會帶你理清這些甚至更多疑問。
1.1 Java學(xué)習(xí)總體方向
對于剛學(xué)習(xí)Java的同學(xué),應(yīng)該了解下面這張圖1-1,了解Java學(xué)習(xí)的大致結(jié)構(gòu)。當(dāng)然你能在Oracle Java的主頁上看到還有如Java FX、Java DB這樣的技術(shù)。但是既然要和市場接軌,必然要有所取舍。
對于圖1-1,Java SE是我們Java入門的開端,這塊內(nèi)容也就是大家所熟悉的坦克大戰(zhàn)、聊天軟件、五子棋這些桌面級項目所組成的。學(xué)完了Java SE部分,接下來就該選擇方向了。
圖上標(biāo)注的很明顯,但這里有亮點需要提出:
1) 往分布式方向并不是一定要經(jīng)過Java EE階段,但是,學(xué)習(xí)Java EE對后續(xù)分布式的開發(fā)有莫大的好處。
2) Java ME雖然還在Oracle官網(wǎng)上屹立,但就市場來看,它的地位已經(jīng)明顯不如android高了。所以從目前來看,沒有必要學(xué)習(xí)Java ME。
圖1-1 Java學(xué)習(xí)總體方向
1.2 Java SE中應(yīng)該關(guān)注的內(nèi)容
在這一節(jié)中,將列出Java SE的學(xué)習(xí)中應(yīng)該關(guān)注的方面,以及這些方面里主要涉及哪些核心內(nèi)容。大家可以根據(jù)自己的學(xué)習(xí)情況,對照這些條目,看看有沒有缺漏的內(nèi)容。在之前提到過如坦克大戰(zhàn)這樣的項目,這些確實能很好的涵蓋了大部分Java SE的內(nèi)容,所以必要的項目是很關(guān)鍵的。
圖1-2 Java SE組織結(jié)構(gòu)
如圖1-2所示, Java SE大致可分為以下幾塊內(nèi)容:
n 對象導(dǎo)論:如何用面向?qū)ο蟮乃悸穪黹_發(fā)
n 深入JVM:Java運(yùn)行機(jī)制以及JVM原理
n 面向?qū)ο蟮奶卣鳎悍庋b、繼承、抽象、多態(tài)
n 數(shù)組和容器:容器的線程安全問題
n I/O和NIO:NIO工作原理和應(yīng)用
n 并發(fā)編程:concurrent包
n 網(wǎng)絡(luò)編程:TCP/IP+BIO/NIO UDP/IP+BIO/NIO
n JDBC框架和反射:JNDI、連接池、annotation等
n 其他:正則表達(dá)式、字符串等
在這里我還想多提一點,關(guān)于Java SE學(xué)到什么深度才合適。其實對于后續(xù)學(xué)習(xí)Java EE或者是Android來說,Java SE你只要學(xué)會皮毛就足夠應(yīng)付了,當(dāng)然這里的皮毛是要求你熟練Java語法結(jié)構(gòu)和基本CRUD操作。
可是這樣真的又夠了么?好多工作了一兩年的程序員肯定又會慢慢懷疑自己的基礎(chǔ)是否足夠扎實,于是他們又拿出了《Thinking In Java》重新通讀一遍�;A(chǔ)的重要性毋庸置疑,越到后面你越會覺得框架什么的對你的提升幫助很小。而真正有用的還是對Java的深入理解。所以如果你正在擔(dān)心你的Java基礎(chǔ)夠不夠,層次到?jīng)]到應(yīng)該有的深度,那你應(yīng)該先慶幸下,至少你還想著如何提高自己的水平。
在這一階段,你應(yīng)該看看專門針對每一章節(jié)講解的書,比如:《Java Concurrency in Practice》、《Java NIO》、《深入Java虛擬機(jī)》等。資料很多,但是需要你細(xì)細(xì)的去琢磨。
1.3 Java EE中該學(xué)點什么
Java EE很雜,但是也很容易學(xué),因為你做幾個網(wǎng)站大概就能把所有知識點串聯(lián)起來。所以Java EE方向說好聽點兒的叫企業(yè)級應(yīng)用開發(fā),說難聽點兒的其實就是做網(wǎng)站。當(dāng)然并不局限于做網(wǎng)站。
對于Java EE方向的學(xué)習(xí),重點在于能夠熟練的運(yùn)用各種框架,以及掌握各種框架構(gòu)成的核心思想。至于學(xué)什么框架,用什么應(yīng)用服務(wù)器,在學(xué)習(xí)的時候可以采用容易配置的,所有的同類服務(wù)都是類似的,精通了一個,相似的學(xué)習(xí)就很快了。
圖1-3 Java EE方向?qū)W習(xí)內(nèi)容
下面來具體的看各個模塊應(yīng)該學(xué)點兒什么:
n 序列化:XML、JSON與Java之間的序列化和反序列化
n ORM:推薦學(xué)習(xí)Hibernate
n JSP/Servlet:可以順帶著把JS學(xué)習(xí)了
n Spring:IOC、AOP、Spring MVC
n MVC:推薦學(xué)習(xí)Struts
n Web Service:JDK自帶web service、CXF等框架
n SOA:了解ESB、MQ等企業(yè)級應(yīng)用架構(gòu)。
n EJB:主要了解思路�?身槑е鴮W(xué)習(xí)JBOSS
n 其他:會使用JMS。了解JTA。
還是一點,Java EE方向的學(xué)習(xí)主要是會熟練運(yùn)用即可。大點兒的企業(yè)都會有自己的框架,技術(shù)含量大同小異。會用即可。當(dāng)然到了這個階段設(shè)計模式的學(xué)習(xí)也必不可少,設(shè)計模式可以穿插于各個框架中進(jìn)行學(xué)習(xí)。
1.4 關(guān)于Java EE之后應(yīng)該學(xué)點兒什么
對于大多數(shù)企業(yè)來說,如果你能掌握上面提到的相關(guān)技術(shù),并且熟悉SQL和Linux,那找個Java相關(guān)工作應(yīng)該是沒有問題的了。如果你想更深入的去應(yīng)用上面所學(xué)的知識,分布式、搜索引擎、大數(shù)據(jù)處理等互聯(lián)網(wǎng)熱門技術(shù)都是你擴(kuò)寬技能的方向。
開源的Lucene是搜索引擎技術(shù)最好的入門,,簡單易學(xué),而且很多企業(yè)對搜索引擎的需求越來越大。
諸如MINA、Kafka這樣的開源框架,是你步入分布式方向很好的基石。
如果你能了解HBase、Mongo這樣的非關(guān)系型數(shù)據(jù)庫,那就更有利于你思考大數(shù)據(jù)的問題。
技術(shù)是學(xué)不完的,而且更新的速度一定比你學(xué)習(xí)的速度還要快。所以了解市場需求,了解技術(shù)的核心理念尤為重要。至于這一階段可以看什么書,有如下推薦:《分布式Java應(yīng)用 基礎(chǔ)與實踐》、《Hadoop權(quán)威指南》等。
1.5 你還需要了解點什么
學(xué)無止境,要想在計算機(jī)里走的順利點兒,你真的需要不斷的學(xué)習(xí)。
當(dāng)然有幾點我認(rèn)為在計算機(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ā)展。
posted @
本文關(guān)鍵詞:java學(xué)習(xí)路線,由筆耕文化傳播整理發(fā)布。
本文編號:120425
本文鏈接:http://sikaile.net/wenshubaike/kcsz/120425.html