java需要學習的知識點及學習程度_第1頁
java需要學習的知識點及學習程度_第2頁
java需要學習的知識點及學習程度_第3頁
java需要學習的知識點及學習程度_第4頁
java需要學習的知識點及學習程度_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、需要學習的知識點及學習程度以ThinkinginJava第四版為參考。第一章:對象導論對Java的一個整體的講述,可以跳過。第二到第十三章除去第11章+第16章Java的基礎,非常重要。這一段內(nèi)容如果你學習得很扎實,那么之后的學習就會比較輕松了。這些內(nèi)容都是很基礎的東西。你都得搞熟練了。里面的講解很到位,像static,final關鍵字什么的都有比較詳細的講解。理解了這些,對單例模式為什么會這么寫,簡直就是理所當然的。第11章以及后面的第17章是講解集合類的集合類可以說是Java常用類里面最重要的類了。里面的內(nèi)容你也是需要熟練的掌握,大致有哪些方法你都應該熟悉??梢哉f沒有哪個項目里面能離開集合

2、類的。第14章RTTI及反射反射也是非常重要的一部分。不過開始學習的時候可以不用深入這個,到你學習框架的時候再深入學習這一部分。到時侯你會發(fā)現(xiàn),框架里面大量的使用了反射。第15章泛型泛型,同第14章,開始的時候你只需要知道泛型在集合類里面的應用。以后有時間了可以學習泛型類。第18章IO這是僅此于集合類的,很重要的一個Java類庫。你也需要盡量的學好。第19和20章枚舉和注解這兩章以及泛型是JDK5的新特性。較之泛型可能應用比較少一點。枚舉你需要熟悉,在一些應用上還是很有幫助的。對于注解,你要知道如何的使用注解。因為現(xiàn)在大部分的框架都支持注解了。至于自己寫注解,看你興趣吧。第21章多線程Thin

3、kinginJava里面花了150多頁講解多線程,開頭也說了,即使你學完了這一章你也不能算是精通多線程??梢姸嗑€程這潭水有多深了。這一章你至少要知道多線程的概念,能看懂以及會寫基本的多線程的程序。第22章SwingSwing,ThinkinginJava對Swing部分講解很范,可見Swing在J2ee的比重了。在這章里面復習內(nèi)部類,學習監(jiān)聽器即可。ThinkinginJava里面沒有提到兩個東西,一個是xml文件的讀寫,一個是JDBC。這兩個東西也是J2ee里面比較重要的。XML文件在框架的配置文件里面大行其道。沒有JDBC,你就沒辦法連接數(shù)據(jù)庫。這兩個內(nèi)容也需要熟練掌握。J2EE體系結(jié)構(gòu)簡

4、單介紹一、J2EE提出的背景1、企業(yè)級應用框架的需求在許多企業(yè)級應用中,例如數(shù)據(jù)庫連接、郵件服務、事務處理等都是一些通用企業(yè)需求模塊,這些模塊如果每次再開發(fā)中都由開發(fā)人員來完成的話,將會造成開發(fā)周期長和代碼可靠性差等問題。于是許多大公司開發(fā)了自己的通用模塊服務。這些服務性的軟件系列同陳為中間件。2、為了通用必須要提出規(guī)范,不然無法達到通用在上面的需求基礎之上,許多公司都開發(fā)了自己的中間件,但其與用戶的溝通都各有不同,從而導致用戶無法將各個公司不同的中間件組裝在一塊為自己服務。從而產(chǎn)生瓶頸。于是提出標準的概念。其實J2EE就是基于JAVA技術的一系列標準。注:中間件的解釋中間件處在操作系統(tǒng)和更高

5、一級應用程序之間。他充當?shù)墓δ苁牵簩贸绦蜻\行環(huán)境與操作系統(tǒng)隔離,從而實現(xiàn)應用程序開發(fā)者不必為更多系統(tǒng)問題憂慮,而直接關注該應用程序在解決問題上的能力.我們后面說到的容器的概念就是中間件的一種。二、相關名詞解釋容器:充當中間件的角色WE昭器:給處于其中白應用程序組件(JSP,SERVLET提供一個環(huán)境,使JSP,SERVLET:接更容器中的環(huán)境變量接口交互,不必關注其它系統(tǒng)問題。主要有WEE»務器來實現(xiàn)。例如:TOMCATWEBLOGICWEBSPHERE該容器提供的接口嚴格遵守J2EE規(guī)范中的WEBAPPLICATIONB準。我們把遵守以上標準的WEBI&務器就叫做J2E

6、E中的WE筋器。EJB 容器:Enterprise java bean 給運行在其中的組件EJB各種管理功能, 馬上就會被容器進行高效率的管理。并 的服務。例如郵件服務、事務管理。容器。更具有行業(yè)領域特色。他提供 只要滿足J2EE規(guī)范的EJB放入該容器, 且可以通過現(xiàn)成的接口來獲得系統(tǒng)級別WEBW器和EJB容器在原理上是大體相同的,更多的區(qū)別是被隔離的外界環(huán)境。WE解器更多的是跟基于HTTP勺請求打交道。而EJB容器不是。它是更多的跟數(shù)據(jù)庫、其它服務打交道。但他們都是把與外界的交互實現(xiàn)從而減輕應用程序的負擔。例如SERVLETP用關心HTTP的細節(jié),直接引用環(huán)境變量session,reques

7、t,response就行、EJB不用關心數(shù)據(jù)庫連接速度、各種事務控制,直接由容器來完成。RMI/IIOP:遠程方法調(diào)用/internet對象請求中介協(xié)議,他們主要用于通過遠程調(diào)用服務。例如,遠程有一臺計算機上運行一個程序廠它提供股票分析服務,我們可以在本地計算機上實現(xiàn)對其直接調(diào)用。當然這是要通過一定的規(guī)范才能在異構(gòu)的系統(tǒng)之間進行通信。RMI是JAVA特有的。JNDI:JAVA命名目錄服務。主要提供的功能是:提供一個目錄系統(tǒng),讓其它各地的應用程序在其上面留下自己的索引,從而滿足快速查找和定位分布式應用程序的功能。JMS:JAVA消息服務。主要實現(xiàn)各個應用程序之間的通訊。包括點對點和廣播。JAVA

8、MAILJAVA郵件服務。提供郵件的在他、傳輸功能。他是JAVA扁程中實現(xiàn)郵件功能的核心。相當MS中的EXCHANGE發(fā)包。JTA:JAVA事務服務。提供各種分布式事務服務。應用程序只需調(diào)用其提供的接口即可。JAF:JAVA安全認證框架。提供一些安全控制方面的框架。讓開發(fā)者通過各種部署和自定義實現(xiàn)自己的個性安全控制策略。EAI:企業(yè)應用集成。是一種概念,從而牽涉到好多技術。J2EE技術是一種很好的集成實現(xiàn)。三、J2EE的優(yōu)越性1、基于JAVA技術,平臺無關性表現(xiàn)突出2、開放的標準,許多大型公司已經(jīng)實現(xiàn)了對該規(guī)范支持的應用服務器。如BEA,IBM,ORACLBo3、提供相當專業(yè)的通用軟件服務。4

9、、提供了一個優(yōu)秀的企業(yè)級應用程序框架,對快速高質(zhì)量開發(fā)打下基礎四、現(xiàn)狀J2EE是由SUN公司開發(fā)的一套企業(yè)級應用規(guī)范?,F(xiàn)在最高版本是1.4.支持J2EE的應用月艮務器有IBMWEBSPHEREAPPLICATIONSERVBEAWEBLOGICSERVERJBOSSORACLAPPLICATIOhSERVERSUNONEAPPLICATIOFSERVE畤。Java最初是在瀏覽器和客戶端機器中粉墨登場的。當時,很多人質(zhì)疑它是否適合做服務器端的開發(fā)?,F(xiàn)在,隨著對Java2平臺企業(yè)版(J2EE)第三方支持的增多,Java被廣泛接納為開發(fā)企業(yè)級服務器端解決方案的首選平臺之一。J2EE平臺由一整套服務(

10、Services)、應用程序接口(APIs)和幽構(gòu)成,它對開發(fā)基于Web的多層應用提供了功能支持。在本文中我將解釋支撐J2EE的13種核心技術:JDBC,JNDI,EJBs,RMI,JSP,Javaservlets,XML,JMS,JavaIDL,JTS,JTA,JavaMail和JAF,同時還將描述在何時、何處需要使用這些技術。當然,我還要介紹這些不同的技術之間是如何交互的。此外,為了讓您更好地感受J2EE的真實應用,我將在WebLogic應用服務器一來自BEASystems公司的一種廣為應用的產(chǎn)品環(huán)境下來介紹這些技術。不論對于WebLogic應用服務器和J2EE的新手,還是那些想了解J2E

11、E能帶來什么好處的項目管理者和系統(tǒng)分析員,相信本文一定很有參考價值。宏觀印象:分布式結(jié)構(gòu)和J2EE過去,二層化應用-通常被稱為client/server應用-是大家談論的最多的。圖1刻畫了典型的二層化結(jié)構(gòu)。在很多情況下,服務器提供的唯一服務就是數(shù)據(jù)庫服務。在這種解決方案中,客戶端程序負責數(shù)據(jù)訪問、實現(xiàn)業(yè)務邏輯、用合適的樣式顯示結(jié)果、彈出預設的用戶界面、接受用戶輸入等。client/server結(jié)構(gòu)通常在第一次部署的時候比較容易,但難于升級或改進,而且經(jīng)?;谀撤N專有的協(xié)議一通常是某種數(shù)據(jù)庫協(xié)議。它使得重用業(yè)務邏輯和界面邏輯非常困難。更重要的是,在Web時代,二層化應用通常不能體現(xiàn)出很好的伸縮性

12、,因而很難適應Internet的要求。Sun設計J2EE的部分起因就是想解決二層化結(jié)構(gòu)的缺陷。于是,J2EE定義了一套標準來簡化N層企業(yè)級應用的開發(fā)。它定義了一套標準化的組件,并為這些組件提供了完整的服務。J2EE還自動為應用程序處理了很多實現(xiàn)細節(jié),如安全、多線程等。用J2EE開發(fā)N層應用包括將二層化結(jié)構(gòu)中的不同層面切分成許多層。一個N層化應用A能夠為以下的每種服務提供一個分開的層:顯示:在一個典型的Web應用中,客戶端機器上運行的瀏覽器負責實現(xiàn)用戶界面。動態(tài)生成顯示:盡管瀏覽器可以完成某些動態(tài)內(nèi)容顯示,但為了兼容不同的瀏覽器,這些動態(tài)生成工作應該放在Web服務器端進行,使用JSP、Servl

13、ets,或者XML(可擴展標記語言)和(可擴展樣式表語言)。業(yè)務邏輯:業(yè)務邏輯適合用SessionEJBs(后面將介紹)來實現(xiàn)。數(shù)據(jù)訪問:數(shù)據(jù)訪問適合用EntityEJBs(后面將介紹)和JDBC來實現(xiàn)。后臺系統(tǒng)集成:同后臺系統(tǒng)的集成可能需要用到許多不同的技術,至于何種最佳需要根據(jù)后臺系統(tǒng)的特征而定。您可能開始詫異:為什么有這么多的層?事實上,多層方式可以使企業(yè)級應用具有很強的伸縮性,它允許每層專注于特定的角色。例如,讓Web服務器負責提供頁面,應用服務器處理應用邏輯,而數(shù)據(jù)庫服務器提供數(shù)據(jù)庫服務。由于J2EE建立在Java2平臺標準版(J2SE)的基礎上,所以具備了J2SE的所有優(yōu)點和功能。

14、包括編寫一次,到處可用”的可移植性、通過JDBC訪問數(shù)據(jù)庫、同原有企業(yè)資源進行交互的CORBA技術,以及一個經(jīng)過驗證的更全模型。在這些基礎上,J2EE又增加了對EJB(企業(yè)級Java組件)、Javaservlets、Java服務器頁面(JSPS)和XML技術的支持。分布式結(jié)構(gòu)與WebLogic應用服務器J2EE提供了一個框架-一套標準API-用于開發(fā)分布式結(jié)構(gòu)的應用,這個框架的實際實現(xiàn)留給了第三方廠商。部分廠商只是專注于整個J2EE架構(gòu)中的的特定組件,例如Apache的Tomcat提供了對JSP和servlets的支持,BEA系統(tǒng)公司則通過其WebLogic應用服務器產(chǎn)品為整個J2EE規(guī)范提供

15、了一個較為完整的實現(xiàn)。WebLogic服務器已使建立和部署伸縮性較好的分布式應用的過程大為簡化。WebLogic和J2EE代你處理了大量常規(guī)的編程任務,包括提供事務服務、安全領域、可靠的消息、名字和目錄服務、數(shù)據(jù)庫訪問和連接池、線程池、負載平衡和容錯處理等。通過以一種標準、易用的方式提供這些公共服務,象WebLogic服務器這樣的產(chǎn)品造就了具有更好伸縮性和可維護性的應用系統(tǒng),使其為大量的用戶提供了增長的可用性。J2EE技術在接下來的部分里,我們將描述構(gòu)成J2EE的各種技術,并且了解WebLogic服務器是如何在一個分布式應用中對它們進行支持的。最常用的J2EE技術應該是JDBC、JNDI、EJ

16、B、JSP和servlets,對這些我們將作更仔細的考察。JavaDatabaseConnectivity(JDBC)JDBCAPI以一種統(tǒng)一的方式來對各種各樣的數(shù)據(jù)庫進行存取。和ODBC一樣,JDBC為開發(fā)人員隱藏了不同數(shù)據(jù)庫的不同特性。另外,由于JDBC建立在Java的基礎上,因此還提供了數(shù)據(jù)庫存取的平臺獨立性。JDBC定義了4種不同的驅(qū)動程序,現(xiàn)分述如下:類型1:JDBC-ODBCBridge在JDBC出現(xiàn)的初期,JDBC-ODBC橋顯然是非常有實用意義的,通過JDBC-ODBC橋,開發(fā)人員可以使用JDBC來存取ODBC數(shù)據(jù)源。不足的是,他需要在客戶端安裝ODBC驅(qū)動程序,換句話說,必須

17、安裝MicrosoftWindows的某個版本。使用這一類型你需要犧牲JDBC的平臺獨立性。另外,ODBC驅(qū)動程序還需要具有客戶端的控制權(quán)限。類型2:JDBC-nativedriverbridgeJDBC本地驅(qū)動程序橋提供了一種JDBC接口,它建立在本地數(shù)據(jù)庫驅(qū)動程序的頂層,而不需要使用ODBC。JDBC驅(qū)動程序?qū)?shù)據(jù)庫的API從標準的JDBC調(diào)用轉(zhuǎn)換為本地調(diào)用。使用此類型需要犧牲JDBC的平臺獨立性,還要求在客戶端安裝一些本地代碼。類型3:JDBC-networkbridgeJDBC網(wǎng)絡橋驅(qū)動程序不再需要客戶端數(shù)據(jù)庫驅(qū)動程序。它使用網(wǎng)絡上的中間服務器來存取數(shù)據(jù)庫。這種應用使得以下技術的實現(xiàn)

18、有了可能,這些技術包括負載均衡、連接緩沖池和數(shù)據(jù)緩存等。由于第3種類型往往只需要相對更少的工時間,具有平臺獨立性,而且不需要在客戶端安裝并取得控制權(quán),所以很適合于Internet上的應用。類型4:PureJavadriver第4種類型通過使用一個純Java數(shù)據(jù)庫驅(qū)動程序來執(zhí)行數(shù)據(jù)庫的直接訪問。此類型實際上在客戶端實現(xiàn)了2層結(jié)構(gòu)。要在N-層結(jié)構(gòu)中應用,一個更好的做法是編寫一個EJB,讓它包含存取代碼并提供一個對客戶端具有數(shù)據(jù)庫獨立性的服務。WebLogic服務器為一些通常的數(shù)據(jù)庫提供了JDBC驅(qū)動程序,包括Oracle,Sybase,MicrosoftSQLServer以及Informix。它也

19、帶有一種JDBC驅(qū)動程序用于Cloudscape,這是一種純Java的DBMS,WebLogic服務器中帶有該數(shù)據(jù)庫的評估版本。以下讓我們看一個實例。JDBC實例在這個例子中我們假定你已經(jīng)在Cloudscape中建立了一個PhoneBook數(shù)據(jù)庫,并且包含一個表,名為CONTACT_TABLE,它帶有2個字段:NAME和PHONE。開始的時候先裝載CloudscapeJDBCdriver,并請求drivermanager得到一個對PhoneBookCloudscape數(shù)據(jù)庫的連接。通過這一連接,我們可以構(gòu)造一個Statement對象并用它來執(zhí)行一個簡單的SQL查詢。最后,用循環(huán)來遍歷結(jié)果集的所

20、有數(shù)據(jù),并用標準輸出將NAME和PHONE字段的內(nèi)容進行輸出。importjava.sql.*;publicclassJDBCExamplepublicstaticvoidmain(Stringargs口)tryClass.forName("COM.cloudscape.core.JDBCDriver");Connectionconn=DriverManager.getConnection("jdbc:cloudscape:PhoneBook");Statementstmt=conn.createStatement();Stringsql="SELECTname,phoneFROMCONTACT_TABLEORDERBYname"ResultSetresultSet=stmt.executeQuery(sql);Stringname;Stringphone;while(resultSet.next()name=resultSet.getString.trim();phone=resultSet.getString(2).trim();System.out.println(name

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論