国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
如何學(xué)習(xí)java1
 

http://www.vivihome.cn/tao/taotao/taotext.php?textid=207

 

如何學(xué)習(xí)Java

作者: cn.caowei 2006-03-19

最近論壇上看到好幾個(gè)朋友都在問(wèn),如何學(xué)習(xí) Java的問(wèn)題,“我已經(jīng)學(xué)習(xí)了J2SE,怎么樣才能轉(zhuǎn)向J2EE?”,“我看完了Thinking in Java 可以學(xué)習(xí)J2EE了么?”。于是就有了寫這篇文章的想法,希望能幫助初學(xué)者少走一些彎路。也算是對(duì)自己幾年來(lái)學(xué)習(xí)Java的一個(gè)總結(jié)吧。

在開始之前有必要再討論一下J2MEJ2SE,J2EE這些概念。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手機(jī),PDA等等。J2SE,Java 2 PlatformStandard Edition,我們通常所說(shuō)的JDK(Java Development Kit)包含在此,是J2EE的基礎(chǔ)。J2EEJava 2 Platform,Enterprise Edition,就是所謂的企業(yè)級(jí)Java。這些只是從API級(jí)別上的劃分,實(shí)際上SunJ2EE的定義是:開發(fā)基于組件的多層的企業(yè)級(jí)應(yīng)用的規(guī)范。也就是為各種不同的技術(shù)定義一個(gè)Java的規(guī)范,使這些不同的技術(shù)結(jié)合起來(lái),在Java平臺(tái)上構(gòu)建強(qiáng)壯的企業(yè)級(jí)應(yīng)用。從這一點(diǎn)來(lái)看,J2EE這個(gè)概念應(yīng)該是涵蓋J2MEJ2SE的。比如一個(gè)典型的J2EE應(yīng)用,網(wǎng)上商店,它支持web方式下訂單,也支持手機(jī)下訂單。顯然必須用到J2SE,J2ME。所以也就不存在所謂的從J2SE轉(zhuǎn)向J2EE的問(wèn)題了,只是后者包含的范圍更廣而已。

來(lái)看看Sun給出的J2EE 相關(guān)技術(shù)主要分為幾大塊。

1. Web Service技術(shù)

- Java API for XML Processing (JAXP)

- Java API for XML Registries (JAXR)

- Java API for XML-based RPC (JAX-RPC)

- SOAP with Attachments API for Java (SAAJ)

2. 組件模型技術(shù)(Component Model Technologies

- Java Servlet

- JavaServer Pages

- JavaServer Faces

- Enterprise JavaBeans

- Java Message Service

- J2EE Connector Architecture

3. 管理技術(shù)(Management Technologies)

- J2EE Deployment Specification

- J2EE Management Specification

- J2EE Client Provisioning

- Java Authorization Contract for Containers

4. 其他相關(guān)技術(shù)(Other J2EE Technologies)

- JDBC

- Java Data Objects (JDO)

- CORBA (Java IDL and Java RMI-IIOP)

- JavaMail

- Transactions

如此之多的技術(shù)難免使初學(xué)者無(wú)所適從,望而卻步。即使是一位經(jīng)驗(yàn)豐富的J2EE開發(fā)者,又有幾個(gè)人敢說(shuō)J2EE相關(guān)的技術(shù)我都熟練掌握了。不過(guò)作為一名普通J2EE應(yīng)用程序的開發(fā)者來(lái)說(shuō),我們只需要重點(diǎn)學(xué)習(xí)其中的一部分技術(shù)就可以了,對(duì)于其他部分只要做到心中有數(shù),哪天需要用到了知道跑哪里去找到資料就行了。以我個(gè)人的觀點(diǎn),下面這些技術(shù)是一般J2EE應(yīng)用開發(fā)人員所必須熟練掌握的。Java Server Page,Java ServletEnterprise JavaBean,JDBCTransactions。還有JAXPXML相關(guān)技術(shù),Java Message Service,Java Mail,JDO等等是最好應(yīng)該掌握的。其他Management TechnologiesConnector Architecture等等主要是給容器提供商中間件提供商參考的,應(yīng)用開發(fā)者不需要怎么關(guān)心,等用到了再去學(xué)習(xí)也不遲。

語(yǔ)言學(xué)習(xí)篇

首先是J2SE基礎(chǔ)。學(xué)習(xí)一門新技術(shù),無(wú)外乎閱讀和實(shí)踐了。而一本好的參考書對(duì)于初學(xué)者來(lái)說(shuō)顯得格外重要?,F(xiàn)在市面上的 Java書籍可以說(shuō)是鋪天蓋地,質(zhì)量也是良莠不齊,令初學(xué)者無(wú)所適從。所以還是先推薦幾本書籍吧。目前對(duì)于Java基礎(chǔ)知識(shí),大家一般都比較推薦兩本書,<><< Core Java™ 2 Volume I: Fundamentals >>。第一本書不必多說(shuō)了,Bruce Eckel的大作,Jolt獲獎(jiǎng)書籍。內(nèi)容比較全面,基本涵蓋了java語(yǔ)言的方方面面。這本書提供了相當(dāng)豐富的例子,非常有利于對(duì)學(xué)習(xí)內(nèi)容的了解。另外書中第一部分對(duì)于OO基本書籍的介紹,我覺(jué)得對(duì)于剛接觸OO的人來(lái)說(shuō)幫助會(huì)很大。而且此書是Open Source的,可以從作者網(wǎng)上下載http://www.mindview.net/Books/TIJ/而對(duì)于習(xí)慣于讀中文版的學(xué)習(xí)者來(lái)說(shuō),侯捷翻譯的中文版是不錯(cuò)的選擇。要說(shuō)這本說(shuō)的缺點(diǎn)可能就是對(duì)于初學(xué)者來(lái)說(shuō)厚了一點(diǎn),這也是一些人并不推薦此書作為初學(xué)者學(xué)習(xí)用書的原因吧。后面一本<< FONT> Volume I: Fundamentals>>,目前已經(jīng)是第七版了,單從它出版的次數(shù)來(lái)看也可以看出此書受歡迎的程度,這本書特點(diǎn)也是講述比較全面系統(tǒng),基本上一路啃下來(lái)的話Java語(yǔ)言基礎(chǔ)應(yīng)該算過(guò)關(guān)了。缺點(diǎn)也是太厚了,有點(diǎn)像參考手冊(cè),前面部分花了不少篇幅講SwingApplet,可能對(duì)初學(xué)者不是很有用。還有一些像<< Java in a nutshell>>也是比較不錯(cuò)的基礎(chǔ)書籍。

學(xué)習(xí)了基本的語(yǔ)言基礎(chǔ),別忘了最重要也是最有用的資料還是JDK文檔。從你學(xué)習(xí)java的第一天開始JDK文檔應(yīng)該是常備手頭了。如果你碰到問(wèn)題首先想到的是到論壇上去提問(wèn)而不是查閱Jdk文檔,那先別繼續(xù)往下學(xué)習(xí)了,學(xué)會(huì)查JDK文檔先。不夸張的說(shuō)在我們的初學(xué)者論壇中60%的問(wèn)題是光查一下JDK文檔就能解決問(wèn)題的。最新JDK Documentation下載地址http://java.sun.com/j2se/1.4.2/download.html(目前最新版是J2SE5 http://java.sun.com/j2se/1.5.0/download.jsp)不能光說(shuō)不練,同一下載頁(yè)面把JDK給下載回來(lái)。安裝完后有一點(diǎn)我想提一下,安裝路徑下有一個(gè)src.zip(有些jdk版本是src.jar),好東西啊---JDK源代碼,老是有人在論壇上問(wèn)哪里有JDK源代碼下載,你說(shuō)東西就放在你家里還到處找。有了這個(gè)有些問(wèn)題就需要在論壇上跟人家爭(zhēng)來(lái)爭(zhēng)去了,翻開源代碼瞧一下什么疑問(wèn)都沒(méi)有了。幾個(gè)最重要的命令行工具是

javac:        編譯源文件到class文件

java:    運(yùn)行class

jar:            打包工具。

javadoc:        生成java doc的工具。

對(duì)于初學(xué)java的人來(lái)說(shuō),我不推薦使用IDE而直接用文本編輯器,然后用命令行編譯運(yùn)行。這樣有利于理解CLASSPATH,PATH這些最基本概念。CLASSPATH是初學(xué)者比較容易感覺(jué)迷惑的地方?,F(xiàn)在的IDE太聰明了,給個(gè)名字就給你自動(dòng)生成java source code,自動(dòng)編譯??赡苣氵\(yùn)行完了你的第一個(gè)Hello World程序,還不知道javajavac是用來(lái)做什么的。至于實(shí)際的項(xiàng)目開發(fā),一款合適的IDE還是十分重要的,我們稍后再對(duì)java開發(fā)工具做一些介紹。

J2EE基礎(chǔ)和Java語(yǔ)言進(jìn)階

學(xué)習(xí)完語(yǔ)言基礎(chǔ),就可以比較自然地轉(zhuǎn)入J2EE實(shí)際技術(shù)的學(xué)習(xí)了。J2EE實(shí)在是比較龐雜,而EJBServlet,這些核心技術(shù)是作為每一個(gè)J2EE開發(fā)人員所需要掌握的。關(guān)于servlet,我比較推薦<><>,第一本是Sun推薦的Servlet教材。第二本是當(dāng)年Amazon最暢銷Java書籍,五星級(jí)書籍。這本書機(jī)械工業(yè)出版社有中文版叫<<>JSP權(quán)威指南>>,感覺(jué)翻譯得還可以,第二版好像還沒(méi)有看到有中文版。兩本書都全面系統(tǒng)地介紹了JSPSevlet知識(shí),從web服務(wù)器配置,JSP,Servlet基本編程,標(biāo)記庫(kù)(Tag Lib),過(guò)濾器,事件框架都有很好地描述。提供地例子也比較實(shí)用。對(duì)于EJB學(xué)習(xí),比較著名有兩本書,<< Enterprise JavaBeans 3nd Edition>><< Mastering Enterprise Java Beans Third Edition>>,兩位作者Richard MonsonEd Roman都是屬于業(yè)界重量級(jí)人物。而Richard Monson本身就是EJB規(guī)范專家組成員。對(duì)我來(lái)說(shuō),兩本書難分優(yōu)劣,第二本書有個(gè)好處就是可以免費(fèi)下載http://www.theserverside.com/books/wiley/masteringEJB/index.tss。

還是那句話,不能光說(shuō)不練,不過(guò)J2EE的練習(xí)做起來(lái)有一點(diǎn)麻煩,應(yīng)用服務(wù)器是不可少的,最好還得準(zhǔn)備個(gè)輕量級(jí)的數(shù)據(jù)庫(kù)。下面簡(jiǎn)單介紹一下這些工具。

web服務(wù)器(Servlet Container)方面有。

Tomcat:        http://jakarta.apache.org/tomcat/

Jetty:        http://jetty.mortbay.org/jetty/

應(yīng)用服務(wù)器常用的有,

Jboss:        http://www.jboss.org/products/index

Weblogic:    http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/server

WebSphere:    http://www-128.ibm.com/developerworks/downloads/ws/was/?S_TACT=105AGX28&S_CMP=DLMAIN。

Tomcat,JettyJboss都是Open Source。WeblogicWebSphereJ2EE服務(wù)器中的老大級(jí)人物,價(jià)格也不菲。不過(guò)對(duì)于開發(fā)者有免費(fèi)的試用版下載。

如果單單只是學(xué)習(xí)Servlet,推薦使用Tomcat,它是Sun官方指定的Servlet,JSP規(guī)范的參考實(shí)現(xiàn)。對(duì)初學(xué)者最重要的是它使用比較簡(jiǎn)單,自帶文檔比較齊全,使用者眾多,有什么問(wèn)題容易在論壇上面得到幫助。如果學(xué)習(xí)EJB的話,推薦使用Jboss,不僅僅是因?yàn)樗?/span>Open Source的,主要是配置比較簡(jiǎn)單,使用方便。比如說(shuō)對(duì)于連接數(shù)據(jù)庫(kù),對(duì)于常用的MySQLOracle,MS SQL等等都提供了Sample Config文件,直接拿過(guò)來(lái)做些小改動(dòng)扔到Deploy目錄下就可以用DataSource了,部署J2EE應(yīng)用也簡(jiǎn)單,把整個(gè).ear或者.war扔到deploy下就可以了。唯一不方便的地方是從Jboss3.0開始,它的文檔開始收費(fèi)了。但是對(duì)于一些基本的配置,在網(wǎng)上還是非常容易找到的,畢竟它太流行了。至于Weblogic,也比較容易使用,不過(guò)比起Jboss來(lái)個(gè)頭大了很多,通過(guò)強(qiáng)大的管理界面使得一些常用的配置工作變得十分簡(jiǎn)單。和Jboss比起來(lái)它的文檔就太多了,簡(jiǎn)直是有點(diǎn)羅里八嗦,比如要部署一個(gè).ear文件,一般我們也就是直接扔到domain下的applications目錄下就會(huì)自動(dòng)deploy了,但是要看它的文檔可是長(zhǎng)篇大論,容易嚇著初學(xué)者,以為這又是什么高深的學(xué)問(wèn)。至于WebSphere,個(gè)人不推薦初學(xué)者使用,相比前倆個(gè)Server比較難使,而且狂吃內(nèi)存。不過(guò)在企業(yè)級(jí)市場(chǎng)這個(gè)家伙表現(xiàn)不俗,畢竟是出生于IBM這樣的豪門。

數(shù)據(jù)庫(kù)方面,目前常見的主要有PostgreSQL,MySQLOracle,MS SQL,DB2等等。前面兩個(gè)是開源數(shù)據(jù)庫(kù),后面幾個(gè)基本上壟斷著大部分的數(shù)據(jù)庫(kù)市場(chǎng)。對(duì)于初學(xué)者用來(lái)做做EJB,JDBC的練習(xí),我推薦MySQL,理由還是很簡(jiǎn)單,開源軟件不要錢,個(gè)頭小使用方面,用戶眾多文檔齊全。下載地址http://www.mysql.com/products/mysql/PostgreSQL也可以考慮,不過(guò)國(guó)內(nèi)使用者遠(yuǎn)不如MySQL多,所以要在論壇上問(wèn)起問(wèn)題來(lái)就少方便一些了,下載地址http://www.pervasive-postgres.com/downloads/。至于后面那些比較重量級(jí)的數(shù)據(jù)庫(kù),為了做做練習(xí)而言就不用考慮了, 咱也花不起這個(gè)錢啊。

學(xué)習(xí)完J2EE的這些具體技術(shù),這個(gè)時(shí)候進(jìn)行基本的J2EE開發(fā)應(yīng)該是不成問(wèn)題了。此時(shí)應(yīng)該考慮提高自己的代碼質(zhì)量了。這里我強(qiáng)烈推薦Martin Fowler<>,這本書不是一本非常實(shí)際的書,作者完全是手把手地教你如何提高代碼質(zhì)量,從具體地代碼中告訴你什么是代碼的Bad Smell,如何去掉這些Bad Smell。不少書評(píng)是這么說(shuō)的,這本書對(duì)于初級(jí),中級(jí)的讀者幫助是立桿見影的。至少就我接觸到的幾個(gè)學(xué)習(xí)編程不久的程序員,編碼質(zhì)量在短期內(nèi)都有很大提高。當(dāng)然重構(gòu)(Refactoring)這一概念并不只針對(duì)Java語(yǔ)言的,它對(duì)所有OO語(yǔ)言都是適用的。重構(gòu)的概念是如此深入人心,以至于今天幾乎所有流行的IDE工具都有對(duì)重構(gòu)的支持。這里我還想再推薦一本<>。從C++過(guò)來(lái)的程序員都知道<>C++領(lǐng)域的地位,至今還流傳著這樣的趣話,C++程序員分為兩種,一種是讀過(guò)<>的,另一種是沒(méi)有讀過(guò)C++的。雖然這本<>Java領(lǐng)域的影響也許沒(méi)有那么大,但對(duì)于Java程序員絕對(duì)有相當(dāng)?shù)闹笇?dǎo)價(jià)值。作者是Sun公司的Joshua Bloch,java Collection framework的設(shè)計(jì)者。作者站在JDK設(shè)計(jì)者的角度向你介紹他的Best Practice,應(yīng)該這樣做而不應(yīng)該那樣做,對(duì)于JDK中某些API設(shè)計(jì)的缺陷他也毫不袒護(hù)的指出。Java語(yǔ)言之父James Gosling為此書寫的前言是這么說(shuō)的“I sure wish I had had this book ten years ago。 Some might think that I don‘t need any Java books, but I need this one”。這本書會(huì)讓你覺(jué)得原來(lái)你對(duì)Java還是有很多東西不了解的。舉個(gè)例子來(lái)說(shuō),對(duì)象的equals方法,我們認(rèn)為它很簡(jiǎn)單,也許你每天都在為你新寫的Class重載這個(gè)方法,但是你在重載的時(shí)候注意過(guò)“自反”,“對(duì)稱”,“傳遞”這些必須要考慮的因素,你是否同時(shí)還小心謹(jǐn)慎的重載了hashcode這個(gè)方法?如果沒(méi)有,建議你要讀一下這本書。讀完這本書,你會(huì)覺(jué)得離Java的距離更近了。上面兩本書都出過(guò)中文版,后面一本<>還有兩個(gè)版本的中文版,第一次翻譯的比較差一點(diǎn),后來(lái)機(jī)械工業(yè)出版社又委托潘愛(ài)民先生重新翻譯了一遍。同一本書在同一個(gè)出版社連續(xù)被翻譯了兩次也說(shuō)明國(guó)內(nèi)出版界對(duì)這本書還是比較重視的。

這個(gè)階段,在看書的同時(shí),可以結(jié)合著學(xué)習(xí)一些優(yōu)秀的開源項(xiàng)目的源代碼。這些開源項(xiàng)目的代碼風(fēng)格,注釋都是值得借鑒的。實(shí)在太懶也別忘了手頭上還有個(gè)Jdk的源代碼。其實(shí)也不用刻意去找源代碼,在實(shí)際的J2EE項(xiàng)目開發(fā)中,基本上都會(huì)用到一些優(yōu)秀的開源項(xiàng)目。

 

源文檔 <http://www.vivihome.cn/tao/taotao/taotext.php?textid=207>

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
解析JDK、J2EE、J2SE、J2ME的區(qū)別 - 51CTO.COM
SDK、JDK、JRE、JVM 的基本概念(轉(zhuǎn)載) @ 暉獲無(wú)度的步烙閣 :: 隨意窩 Xuite日誌
Java學(xué)習(xí)
真正的java學(xué)習(xí)從入門到精通
java學(xué)習(xí)入門建議-摘自CSDN熱心網(wǎng)友們的回復(fù)-感謝--
小議學(xué)習(xí)Java的浮躁心態(tài)-太平洋電腦網(wǎng)Pconline-[程序人生]
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服