最近很多想學(xué)習(xí)Java的朋友問我如何學(xué)習(xí)Java,對(duì)于一個(gè)初學(xué)者來說,學(xué)習(xí)Java需要一個(gè)系統(tǒng)的學(xué)習(xí)路線,今天就跟大家聊一下這個(gè)問題。對(duì)于初學(xué)者來說,學(xué)習(xí)Java大致可以分為四個(gè)階段:基礎(chǔ)語法階段、數(shù)據(jù)庫開發(fā)階段、Web開發(fā)階段、服務(wù)端開發(fā)階段,下面逐一描述一下這四個(gè)階段都需要掌握什么內(nèi)容。
這個(gè)階段對(duì)于Java初學(xué)者來說頗為關(guān)鍵,也是整個(gè)Java學(xué)習(xí)過程中的一個(gè)難點(diǎn),因?yàn)镴ava的學(xué)習(xí)是一個(gè)先難后易的過程。這個(gè)階段要了解Java的基本編譯過程,以及Java的面向?qū)ο蟾拍?。比如Java如何完成一個(gè)代碼的編寫到運(yùn)行,中間需要經(jīng)過哪些步驟,容器都做了哪些事情等。
這個(gè)階段要清晰了解Java中類、對(duì)象、屬性、方法四個(gè)基本概念,以及封裝、繼承和多態(tài)的實(shí)現(xiàn)過程。當(dāng)然,基礎(chǔ)語法部分還包括對(duì)線程的理解和應(yīng)用。
IO操作也是一個(gè)需要重點(diǎn)掌握的內(nèi)容,包括IO操作原理、流操作涉及到的類以及接口等內(nèi)容。
同時(shí)也要掌握基本的網(wǎng)絡(luò)編程原理,熟悉Socket的運(yùn)用,能完成一個(gè)簡單的網(wǎng)絡(luò)數(shù)據(jù)交換實(shí)驗(yàn)。
以上就是基礎(chǔ)部分需要掌握的內(nèi)容,基礎(chǔ)部分要做大量的實(shí)驗(yàn),通過實(shí)驗(yàn)來驗(yàn)證一些概念和想法。
這個(gè)階段首先要掌握數(shù)據(jù)庫的使用,推薦學(xué)習(xí)Oracle或者M(jìn)ysql,這兩個(gè)數(shù)據(jù)庫產(chǎn)品在Java開發(fā)領(lǐng)域應(yīng)用較多,且與Java的兼容性較好。
Java操作數(shù)據(jù)庫的API是JDBC,所以學(xué)習(xí)Java操作數(shù)據(jù)庫要從學(xué)習(xí)JDBC開始,了解JDBC從Driver開始。
通過JDBC來完成數(shù)據(jù)庫操作一個(gè)重要的步驟在于連接(Connection)的創(chuàng)建,創(chuàng)建連接是后續(xù)操作的基礎(chǔ)。
連接創(chuàng)建之后要?jiǎng)?chuàng)建Statement(PreparedStatement、CallableStatement),以便于執(zhí)行Sql語句完成數(shù)據(jù)庫操作。
為了提高數(shù)據(jù)庫操作的效率,通常還要?jiǎng)?chuàng)建數(shù)據(jù)庫連接池,通過池化Connection對(duì)象來提高Connection對(duì)象的利用率。
最后結(jié)合RMI完成一個(gè)基本的數(shù)據(jù)庫操作的三層應(yīng)用。
Web開發(fā)是Java學(xué)習(xí)的一個(gè)重點(diǎn)部分,因?yàn)镴ava開發(fā)大多都是從事Web方面的應(yīng)用。學(xué)習(xí)Web開發(fā)從基本的網(wǎng)絡(luò)請(qǐng)求處理流程開始,先要了解web服務(wù)器、HTML以及HTTP等基本概念。
了解Web Site和Web Application的區(qū)別,了解CGI的處理流程。
接著學(xué)習(xí)什么是Servlet,以及Servlet的請(qǐng)求處理流程。
學(xué)習(xí)Servlet是Java Web學(xué)習(xí)中的重點(diǎn)和難點(diǎn),要清楚Servlet的功能以及編寫的規(guī)則,清楚Servlet如何部署到服務(wù)器中,以及如何編寫處理用戶請(qǐng)求的方法。
接著要學(xué)習(xí)JSP以及JavaBean,掌握J(rèn)SP的語法規(guī)則,掌握J(rèn)avaBean的編寫規(guī)則,使用JSP、Servlet和JavaBean構(gòu)建基于MVC結(jié)構(gòu)的Model2應(yīng)用。
Java Web部分的學(xué)習(xí)涉及的內(nèi)容較多,既有后臺(tái)的內(nèi)容也有前臺(tái)的內(nèi)容,通常還需要學(xué)習(xí)一下HTML、CSS和JavaScript的基礎(chǔ)知識(shí),所以需要做大量的實(shí)驗(yàn)。
服務(wù)端開發(fā)有兩條線可以選擇,一條線是基于EJB的路線,采用EJB技術(shù)來完成服務(wù)端的編寫,基本框架如下:
其中涉及到會(huì)話Bean、實(shí)體Bean和消息驅(qū)動(dòng)Bean,由于EJB比較重,所以在實(shí)際項(xiàng)目中很多架構(gòu)師并不喜歡使用EJB,但是在功能性方面,EJB的解決方案還是比較健全的。
最近Oracle公司吧Java EE交給了Eclipse基金會(huì)來運(yùn)營,隨之改名為Jakarta EE,Eclipse也許會(huì)為EJB的發(fā)展打開一條新的道路。
服務(wù)端開發(fā)的另一條路線是以Spring為代表的輕量級(jí)解決方案,由于寫法簡單且使用方便,Spring得到了大量架構(gòu)師和程序員的喜愛,在實(shí)際開發(fā)中Spring的應(yīng)用遠(yuǎn)遠(yuǎn)超過了EJB。
以上就是一個(gè)Java學(xué)習(xí)路線的簡單規(guī)劃,我在頭條上會(huì)陸續(xù)寫關(guān)于Java的技術(shù)文章,感謝大家的持續(xù)關(guān)注和轉(zhuǎn)發(fā)。
聯(lián)系客服