




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、什么是Java發布人 : IT專家 發布時間 : 2009-10-21 20:26:59.0 經常聽到有初學者在問:什么是Java? java是什么意思?java是什么東西? java是什么軟件?雖然有些問題有點搞笑,呵呵,但是,不知者無罪,現給大家簡單解釋一下: 一、什么是Java Java是由Sun Microsystems公司于1995年5月推出的Java程序設計語言(以下簡稱Java語言)和Java平臺的總稱。大家平時接觸的,一般是指Java語言,它和C語言一樣,就是一門計算機語言。而Java平臺由Java虛擬機(Java Virtual Machine)和Java應用編程接口(App
2、lication Programming Interface、簡稱API)構成。Java虛擬機是將你的Java程序翻譯給計算機操作系統的一個中間者;Java應用編程接口是作為Sun開發的Java程序,用于Java編程人員使用的程序接口,并不是說使用Java和接口有關,而是表示Java所提供的現成的類庫,供編程人員使用。這與 Win32 中的 dll 文件有點像,封裝了好多函數,只暴露也函數名、參數等信息,不提供具體實體,暴露出來的這些就稱為API了。也就是說 Java 也是封裝了好多的方法,提供了些方法名和參數等信息,便于別人使用啊。由于Java是開源的,還可是看到類庫中方法的具體實現。 Ja
3、va虛擬機與Java應用編程接口的關系 二、Java三個體系分類 Java分為三個體系JavaSE(Java2 Platform Standard Edition,java平臺標準版),JavaEE(Java 2 Platform,Enterprise Edition,java平臺企業版),JavaME(Java 2 Platform Micro Edition,java平臺微型版)。 三、Java語言特點 Java是一種簡單的,面向對象的,分布式的,解釋型的,健壯安全的,結構中立的,可移植的,性能優異、多線程的動態語言。所以,它對網絡應用等有先天的優勢 更多,請參見:http:/baike.
4、/view/29.htmJava學習網址發布人 : IT專家 發布時間 : 2009-10-21 20:28:32.0 Java官方網站 / TheServerS / 中國java技術網站: / java開發者網站: /Java視頻下載發布人 : IT專家 發布時間 : 2009-10-21 20:29:49.0 張孝祥老師的視頻下載地址: http:/www.itcast.c
5、/video 點擊你要下載的視頻,然后往下拖動鼠標。下面有下載鏈接地址1、2、3等,鏈接其中一個下載就可以 孫鑫老師的下載視頻: /special/00091T71/javashipin.htmlJava程序運行原理發布人 : IT專家 發布時間 : 2009-10-21 20:33:18.0 用java編出的源文件就是.java文件(例:Hello.java)。這個文件通過JDK中的javac工具編譯后產生.class文件(例:Hello.class),也就是java的字節碼文件。這個字節碼文件通過本機或者網絡進行運行。運行過程是:.class
6、文件首先是被裝載到類裝載庫中,然后進行字節碼校驗(也就是檢驗代碼的安全性),檢驗完后,要么就是是通過解釋器運行與低層硬件交互;要么就是通過JIT虛擬機代碼產生器與底層交換。這就是java編譯解釋的整個過程: 一個Java軟件開發過程的概述: 通過Java虛擬機,在相同的應用程序能夠在多個平臺上運行:Java語言編碼規范【轉】發布人 : IT專家 發布時間 : 2009-10-21 20:35:13.0 Java語言編碼規范如下: sun的Java編碼規范(英文)(Java Code Conventions) /docs/codeconv/html/CodeC
7、onvTOC.doc.html sun的Java編碼規范(譯文) 地址:/resource/javacodeconv.html 簡介:本文檔講述了Java語言的編碼規范,較之陳世忠先生c+編碼規范的浩繁詳盡,此文當屬短小精悍了。而其中所列之各項條款,從編碼風格,到注意事項,不單只Java,對于其他語言,也都很有借鑒意義。因為簡短,所以易記,大家不妨將此作為handbook,常備案頭,逐一對驗。J2EE總體的學習計劃發布人 : IT專家 發布時間 : 2009-10-21 20:39:25.0 以下內容,整理自網上,希望對大家有用: 簡單的說,J
8、2EE大概需要學習以下內容: 1.html,javascript 2.java基礎 3.servlet 4.jsp 5.J2ee框架了解,推薦一本書深入淺出J2EE框架 6.學習EJB的理論 7.了解一下JMS,JNDI,JTA等簡單原理 8.可以開始看一些框架,比如struts,sprint之類的。 具體解釋如下: 第一部分: JAVA語言基礎知識。包括異常、IO流、多線程、集合類、數據庫。(切記基礎知識一定要時時刻刻鞏固,注意,如果你是想以最快速度學習J2EE,關于Java中的Swing知識點,就只做了解) 要求:對java的封裝,生命周期等有一定的了解; java基礎語法-必須的 異常-
9、掌握try-catch-finally的使用 IO流-掌握字節流、字符流和對象序列化的處理。能夠簡單使用各種輸入、輸出流類(InputStream、 OutputStream、FileInputStream、FileOutputStream、DataInputStream、 DataOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、 InputStreamReader、OutputStreamWriter、BufferReader、BufferedWriter、 ObjectInputStream、Objec
10、tOutputStream)。 多線程-掌握多線程實現的兩種實現方法,分別是繼承Thread類與實現Runnable接口。理解線程間的同步與互斥。 集合類-掌握Set、Collection、Map、List、Iterator、Enumeration接口的使用,掌握HashSet、ArrayList、Vector、HashMap、HashTable類的使用。 數據庫-掌握JDBC API的使用,包括DriverManager類、Connection接口、Statement類和接口、PreparedStatement接口、ResultSet接口。 還有了解java反射機制,對Java1.5的新功能
11、必須有了解與使用,泛型等。 另外-理解Unicode、GB2132、GBK、UTF-8、ISO8859編碼方式。 參考:Java編程思想、張孝祥視頻教學。 第二部分: JAVA網絡編程。包括HTML、XML、JSP、JavaBean、Servlet,理解Socket、RMI。 要求: HTML-了解HTML語言的語法、各種標簽。 JSP-掌握JSP2.0語法、隱含對象、EL、JSTL1.1、JSP自定標簽。 JavaBean-理解JavaBean的特點和事件模型。 XML-了解XML語言的語法、DTD、Schema。 Servlet-掌握HTTP協議、Servlet工作過程、Servlet會話
12、跟蹤、Servlet過濾器、Serlvet事件偵聽器、配置web.xml。 UML-掌握用例圖、類圖、活動圖、順序圖、狀態圖。 開發工具-掌握Rational Rose 、ant 、cvs版本控制、myeclipse、dreamweave等開發工具使用。 Socket-了解java.io包中的套接口類和服務器套接口類的使用。 RMI-掌握RMI基本工作原理、掌握定義遠程服務接口類、遠程接口類、客戶端調用類和部署、編譯RMI應用程序。 另外-學習過程中學會使用Tomcat、JBoss/Weblogic服務器 參考書:JSP2.0技術手冊林上杰編著; 深入體會Java Web開發內幕-核心基礎 在
13、JSP上不要花太多時間,在時間放在servlet多一些. 第三部分: 流行MVC架構和Java對象持久化技術。包括struts/webwork、Spring、Hibernate 要求:MVC-理解MVC設計模式、處理過程。 webwork-理解webwork實現MVC的機制、工作流程。掌握配置webwork應用、webwork控制器組 件、webwork應用的國際化、異常處理、webwork標簽庫。(其實很多遺留系統用的是Struts,但現在越來越少人用了,所以我鼓勵你們學 webwork,但要必須要了解一下Struts) Spring-掌握控制反轉(IoC)、面向方面編程(AOP)、事務服務
14、(JTA)、郵件服務(JavaMail)、持久化服務(DAO、JDBC、ORM)、遠程服務(RMI)。 Hibernate-理解ORM,掌握映射對象標識符、映射關系(一對多、多對多、一對一)、映射類型、檢索策略、檢索方式、數據庫事務與并發、管理Hibernate的緩存。 學習過程:先學習webwork2,再學習Hibernate,最后學Spring。 下面的東西有時間了解一下: 測試/敏捷開發-關注測試,掌握Junit單元測試框架,以及現在兩個流行的mock工具EasyMock/JMock,熟 悉其中一種。(提示:測試非常重要,有效的測試可以減少很多開發的時間,當然剛開始覺得不耐煩,好像沒有必
15、要寫測試代碼,一定要說服自己嘗試寫測試代碼, 或多或少的) UNIX系統-了解最主要的shell編程,及主要的相關的命令行操作. AJAX-了解基本的javascript,csss,以及ajax常用的用法,還有JSON框架. (ajax的框架太多,但不要花太多時間去學,因為你不知道公司用不用ajax,而且用的那一框架你沒有辦法知道,所以懂最基礎就可以了) 參考書:webwork in action中文版 精通Struts、精通Hibernate孫衛琴著, Spring技術手冊林信良著 JUnit in action中文版Vincent Massol著的 書籍只是用來入門的,其他的工具必須多上英
16、文網址,盡量多看一些英文文檔,提高自己的水平,同時有空的時候也可以下載的一些開源項目的文檔。 最后一句話:無論什么技術,學了不要以為自己多牛,學技術只是為了更好提高自己做項目的能力以及提升自身的水平。你做的項目效果怎樣才能最終看出你自身的水平。面向對象編程的幾個原則發布人 : IT專家 發布時間 : 2009-10-21 20:40:59.0 在面向對象設計中,如何通過很小的設計改變就可以應對設計需求的變化,這是令設計者極為關注的問題。為此不少OO先驅提出了很多有關面向對象的設計原則用于指導OO的設計和開發。下面是幾條與類設計相關的設計原則。 1. 開閉原則(the Open Closed P
17、rinciple OCP)一個模塊在擴展性方面應該是開放的而在更改性方面應該是封閉的。因此在進行面向對象設計時要盡量考慮接口封裝機制、抽象機制和多態技術。該原則同樣適合于非面向對象設計的方法,是軟件工程設計方法的重要原則之一。我們以收音機的例子為例,講述面向對象的開閉原則。我們收聽節目時需要打開收音機電源,對準電臺頻率和進行音量調節。但是對于不同的收音機,實現這三個步驟的細節往往有所不同。比如自動收縮電臺的收音機和按鈕式收縮在操作細節上并不相同。因此,我們不太可能針對每種不同類型的收音機通過一個收音機類來實現(通過重載)這些不同的操作方式。但是我們可以定義一個收音機接口,提供開機、關機、增加頻
18、率、降低頻率、增加音量、降低音量六個抽象方法。不同的收音機繼承并實現這六個抽象方法。這樣新增收音機類型不會影響其它原有的收音機類型,收音機類型擴展極為方便。此外,已存在的收音機類型在修改其操作方法時也不會影響到其它類型的收音機。2. 替換原則 (the Liskov Substitution Principle LSP)子類應當可以替換父類并出現在父類能夠出現的任何地方。這個原則是Liskov于1987年提出的設計原則。它同樣可以從Bertrand Meyer 的DBC (Design by Contract) 的概念推出。我們以學生為例,夜校生為學生的子類,因此在任何學生可以出現的地方,夜校
19、生均可出現。這個例子有些牽強,一個能夠反映這個原則的例子時圓和橢圓,圓是橢圓的一個特殊子類。因此任何出現橢圓的地方,圓均可以出現。但反過來就可能行不通。運用替換原則時,我們盡量把類B設計為抽象類或者接口,讓C類繼承類B(接口B)并實現操作A和操作B,運行時,類C實例替換B,這樣我們即可進行新類的擴展(繼承類B或接口B),同時無須對類A進行修改。3. 依賴原則 (the Dependency Inversion Principle DIP)在進行業務設計時,與特定業務有關的依賴關系應該盡量依賴接口和抽象類,而不是依賴于具體類。具體類只負責相關業務的實現,修改具體類不影響與特定業務有關的依賴關系。
20、在結構化設計中,我們可以看到底層的模塊是對高層抽象模塊的實現(高層抽象模塊通過調用底層模塊),這說明,抽象的模塊要依賴具體實現相關的模塊,底層模塊的具體實現發生變動時將會嚴重影響高層抽象的模塊,顯然這是結構化方法的一個硬傷。面向對象方法的依賴關系剛好相反,具體實現類依賴于抽象類和接口。為此,我們在進行業務設計時,應盡量在接口或抽象類中定義業務方法的原型,并通過具體的實現類(子類)來實現該業務方法,業務方法內容的修改將不會影響到運行時業務方法的調用。4. 接口分離原則(the Interface Segregation Principle ISP)采用多個與特定客戶類有關的接口比采用一個通用的涵
21、蓋多個業務方法的接口要好。ISP原則是另外一個支持諸如COM等組件化的使能技術。缺少ISP,組件、類的可用性和移植性將大打折扣。這個原則的本質相當簡單。如果你擁有一個針對多個客戶的類,為每一個客戶創建特定業務接口,然后使該客戶類繼承多個特定業務接口將比直接加載客戶所需所有方法有效。以上四個原則是面向對象中常常用到的原則。此外,除上述四原則外,還有一些常用的經驗諸如類結構層次以三到四層為宜、類的職責明確化(一個類對應一個具體職責)等可供我們在進行面向對象設計參考。但就上面的幾個原則看來,我們看到這些類在幾何分布上呈現樹型拓撲的關系,這是一種良好、開放式的線性關系、具有較低的設計復雜度。一般說來,
22、在軟件設計中我們應當盡量避免出現帶有閉包、循環的設計關系,它們反映的是較大的耦合度和設計復雜化。from:/blog/static/6/ Java推薦讀物與源代碼閱讀【轉】發布人 : IT專家 發布時間 : 2009-10-21 20:52:25.0 1. Java語言基礎 談到Java語言基礎學習的書籍,大家肯定會推薦Bruce Eckel的Thinking in Java。它是一本寫的相當深刻的技術書籍,Java語言基礎部分基本沒有其它任何一本書可以超越它。該書的作者Bruce Eckel在網絡上被稱為天才的投機者,作者的
23、Thinking in C+在1995年曾獲SoftwareDevelopment Jolt Award最佳書籍大獎,Thinking in Java被評為1999年Java World“最愛讀者歡迎圖書”,并且贏得了編輯首選圖書獎。作者從1986年至今,已經發表了超過150篇計算機技術文章,出版了6本書(其中4本是關 于C+的),并且在全世界做了數百次演講。他是Thinking in Java、Thinking in C+、C+ Inside & OutUsing C+和Thinking in Patterns的作者,同時還是Black Belt C+文集的編輯。他的書被讀者稱為“最好的Ja
24、va參考書絕對讓人震驚”;“購買Java參考書最明智的選擇”;“我見過的最棒的編程指南”。作 者的非凡才華,極其跨越語言的能力,使作者被選為Java發展10年間與Java關系最密切的10個人物之一。 Thinking in Java講述了Java語言的方方面面,很多Java語言的老手都評價“這是一本將Java語言講得相當丑陋的書”。該書談及了java語言的很多細節,每一個方面都是相當深刻的。通過本書你可以看到“丑陋的”java語言。 網絡上關于java語言講解的視頻很多很多,其中不凡有垃圾。翁愷JAVA語言可能是你學習java語言基礎的唯一選擇,該講座基本按照 Thinking in Java
25、這本書講解,其中不凡有翁老師的很多有意思的笑話。我很幸運學習就是從此視頻開始的。內容包括30講,我總共看了3遍。 不過,對于初學者我不太推薦使用Thinking in Java,我比較推薦Prentice Hall PTR 的Core Java 2國內稱為Java 2 核心技術,目前是第七版。網絡上大家都可以下載到電子版。Oreilly的Java in a nutshell也是一個不錯的選擇。讀完以上兩本后,你可以看看翁愷老師的視頻,接著可以研究Thinking in Java了。 2. Java數據結構 市面上關于Java數據結構的書本身就很少很少。大致有APress 的Java Colle
26、ctions,Jones 和Bartlett 的Data Structures in Java、Object-oriented Data Structures Using Java以及Prentice Hall 出版的Data Structures and Algorithms in Java (Dec 19, 2005)還有一本就是Data Structures And Algorithms With Object-oriented Design Patterns In Java。很幸運我的第一本英文書就是APress 的Java Collections(本書在國內可能根本就沒有中文版只能下
27、載英文版了),很不錯,講得很有條例、很簡單,是一本完完全全Java Collections API介紹的書籍,其中不凡有擴展API的例子。這是我推薦你學習java數據結構的唯一一本好書。其它的Jones 和Bartlett的那兩本國內好像有一本中文版,想看你也可以看看。 在學習完API后,你可以看看java.util包中對應的類了。不過只有在學習過設計模式后你才有可能完全理解整個Java Collections Framework。Java Collections Framework使用了很多著名的設計模式如:迭代器(Iterator)模式,工廠方法模式、裝飾器模式、適配器模式等等。通過研究
28、java.util包中數據結構的源代碼,你可以知道臭名昭著的Properties類的設計了,同時可能基本具備設計簡單的數據結構的能力了。 所謂學習無止境,學習完Sun提供了Java Collections Framework后,你可以研究Apche的另一個Java Collections Framework,很有意思哦。互為補充的兩個Framework。 在大家學習、研究Java Collections之前,我提示一下Java Collections主要包括以下三部分:接口(Interface)、實現(Implemention)和算法(Algorithm)。 1. 接口主要有List、Set、
29、Queue和 Map。List 、Se t和Queue是 Collection接口的子接口。 2. 實現主要是實現這些接口的具體類。如實現List接口的ArrayList、LinkedList、Stack和Vector;實現Set接口的 HashSet、TreeSet 和LinkedHashSet;實現Queue接口的PriorityQueue、SynchronousQueue等等;實現Map接口的 HashMap、TreeMap、Hashtable、Properties、WeakHashMap等等。 3. 算法主要是由Arrays類和Collections類提供的,它是整個Java Coll
30、ection Framework算法的核心。支持各種類型的排序,查找等常用操作。 Java Collections中包含兩個版本的數據結構,主要是原先的支持同步的數據結構和后來不支持同步的數據結構。 Java Collection Framework在使用Comparator和Comparable接口支持排序。同時提供新舊兩個版本的迭代器Iterator和Enumeraton,以及它們如何轉換等等。 在java.util包中的Obserable接口和Observer類是考察者模式的核心。 3. Java IO 市面上關于IO的書籍也僅僅只有Oreilly出版社的兩本,都是Elliotte Ru
31、sty Harold的著作。兩本書的風格基本一致,推薦閱讀是第一版的Jvava I/O,講得比較淺顯,內容相對比較集中,實例也很多。第二版今年5月國外才出版,很有幸我在網絡上下載了第二版,講得極其詳細726頁的大塊頭 (我化了兩個星期),這次將NIO和IO和在一起,還包括J2ME部分的,不過串口、并口通信部分好像類庫支持不夠,自己不能實際操作。 與第一版的Jvava I/O一起的Oreilly還有一本Jvava NIO,也是很不錯的哦。 大家在依次閱讀完Jvava I/O以及Jvava NIO后,可以研究java.io包中的源代碼了。在大家研究源代碼前我給點提示: Java的io包主要包括:
32、1. 兩種流:字節流(byte Stream)和字符流(character stream),這兩種流不存在所謂的誰代替誰、誰比誰高級之說,它們互為補充,只是側重點不同而已。 2. 兩種對稱:1.字節流、字符流的對稱;2.輸入、輸出的對稱。 3. 一個橋梁:將字節流轉變為字符流的InputStreamReader和OutputStreamWriter。 其中必須注意: 1. PipedInputStream和PipedOutputStrem是兩個比較有趣的類。 2. 支持Buffered的流是我們經常使用的類。 3. 裝飾器(Decorator)模式在java最著名的應用就是用于io的設計。仔細
33、研究各個Filter流與具體流的關系,多看設計模式的書籍。相信你會有所所獲。 4. 學習好io包,是研究net包,rmi包的基礎哦! 4 . Java數據庫 數據庫的書籍太多太多了,也是太爛太爛了!這方面的書我基本都研究過,推薦的你就看看Apress的JDBC Recipes A Problem Solution Approach 很不錯,國外2005年底才出版,(國內好像沒有中文版,不過出了中文版也不一定值得看國內經常將國外的書翻譯得一塌糊涂、不堪入目)不過我們真的 很幸運,網絡上有電子版的。值得一看。推薦我看的第一本比較滿意的Wiley出版的Java Database Bible,講得很不
34、錯!Sun公司自己的關于JDBC API介紹的那一本JDBC API Tutorial andRefernece也不錯。我第二本JDBC的就是研究的這套API。 不過目前這些書都是一些相對比較浮淺的API應用的書籍。有機會我會給大家帶來介紹JDBC API以及JDBC實現內部細節的書!我盡快努力,同時希望得到大家的支持! 順便給學習JDBC的朋友一點提示: JDBC的學習和使用主要是這套API,其使用過程也是極其簡單,下面是使用JDBC的一般流程: 1. 加載某個數據庫的驅動(Driver類),通常使用Class.forName(“驅動的類名“); 2. 連接數據庫 Connection co
35、n = DriverManager.getConnection(url,username,password); 3. 得到會話Statement stmt = con.createStatement(); 4. 執行操作Result rs = stmt.executeQuery(“SQL查詢語句”); 5. 處理結果 while(rs.next() String col1 = rs.getString(1); 簡單吧!整個JDBC中可以變化的一般是: 1. 可以由Connection對象創建Statement、PreparedStatement和CallableStatement創建三種類型的
36、Statement。 2. 可以創建多種類型的ResultSet:支持單向移動和個自由移動;可更新的和不可更新的;支持不同等級的交易的. 3. 數據輸入的批處理。 4. 結果集中特殊類型(Blob、Clob、Arrary和Ref、Struct)列的操作。 5. 這些特殊類型的錄入數據庫。 6. javax.sql包中特殊結果集(CachedRowSet、JdbcRowSet、WebRowSet)的操作。 7. 其它的就是一個DataSource了,也很簡單!一個J2EE中的被管理對象 簡單吧!相信大家很快就會征服JDBC。 5. Java 網絡編程 網絡編程一個神秘的、充滿挑戰的方向。不過在談
37、Java網絡編程之前首先感謝Sun公司的開發人員,因為它們天才的設想,充滿智慧的架構,使廣大java程序員學習java網絡編程變得異常簡單。 Java網絡編程方面的書,我推薦OReilly的Java Network Programming,目前已經第三版了,以前的版本市面上肯定有!網絡上早有第三版的電子版,國外2004年出版,706頁哦!講得很全,比較深 入,太深入的可能由于Sun有些東西沒有完全公開,所以也就不好講了,有興趣的可以下載看看!第二本還是OReilly 1998年出版的Java distributed computing ,基礎部分寫得比較詳細,后面的實例還是值得研究的。 在大家
38、閱讀這些書之前,給大家一點提示: java網絡編程其實相對比較簡單,入門也很快很快。java網絡編程主要包括兩個部分:1.Socket;2.URL部分。不過第二部分也完全建立在第一部分的基礎上。 1. Socket包括客戶端的Socket和服務器端的ServerSocket。還有就是DatagramSocket和DatagramPacket,它對應于UDP通信協議。 總之,Socket部分是建立其它高級協議的基礎。 2. URL類是一個網絡資源定位器,通常和具體的網絡協議如HTTP,FTP,Telnet相關。通過該類可以連接網絡上的資源,通過其 openStream可以以io包中的流(Inpu
39、tStream)的形式讀取網絡資源;通過其OpenConnection方法,可以打開一個連接,在 此連接上可以不僅可以完成讀的操作,還可以完成寫的操作。 Java的網絡編程大體包括以上兩部分。網絡編程和IO以及多線程部分非常密切,在學習此部分前大家一定對這兩部分了解比較透徹。 學習了以上部分你可以研究包中的與此相關的源代碼了!研究所有的源代碼還為時尚早。在整個net包中包含: ContentHandlerFactory、URLStreamHandlerFactory、URLStreamHandler、 URLClassLoader等輔助類,它們構成了網絡編程的框
40、架,通過研究其源代碼,你不僅可以快速理解包,還可以為 以后擴展該包打下基礎,甚至可以將此思維方式運用到自己的項目中。 到此為止你對包應該才了解60,還有一部分你可以使用JDecompiler之類的反編譯軟件打開你JDK安裝目錄下jdkxxx jrelib目錄中的rt.jar,用WinRAR之類的軟件打開它的包,反編譯所有的文件,它是URL類工作的細節。當研究完該 包,你就會對整個網絡編程很熟悉很熟悉了。 一切看起來我們已經對網絡編程很精通了。其實不然,剛剛開始而已,要想深入,請繼續吧!網絡上很多優秀的網絡編程庫甚至軟件可以為我們“添加
41、功力”。如 Apache的HttpCore和HTTPConnection 是兩個和HTTP協議相關庫;JGroups是研究分布式通信、群組通信的必讀庫;接著我們可以研究P2P的軟件包,如Sun公司的JXTA,它可能是 java平臺點對點通信未來的標準哦!接著你可以研究成熟得不得了,使用極其廣泛得P2P軟件Azureus!可以下載到! 千里之行始于足下!Just do it !(目前我也只研究了net包,其它的會在不久的將來繼續深入。Sun公司因為某些原因沒有公開net的其它實現細節,在其允許將其源代碼以文字的形式加 以研究,以及允許將其沒有公開的實現寫入書
42、中時,我很希望能出一本java網絡編程的書籍,以飧廣大讀者!) 6. Servlet和JSP Servlet、JSP的書也是滿地都是!值得推薦的也僅僅兩三本。實推Addison Wiley的Servlets and JavaServer pages :The J2EE Technology Web Tier,又是一本很厚的哦!國外2003年出版、784頁,講得比較全,例子也很多,特別是第八章Filter,舉了幾個不錯的例子。其它所有我看到 的關于Servlet和JSP的書都沒有如此深入的!(可能有我沒有看到而已)。Oreilly的Java Servlet Programming和Java Se
43、rver Pages相對比較好懂一些,可以讀讀! 在大家學習Servlet和Jsp之前我還是要提醒一下: 本質上說Servlet就是一個實現Servlet接口的、部署于服務器端的服務器端的程序罷了!它可以象寫其它任何java應用程序一樣編寫,它可以操作數據庫、可以操作本地文件、可以連接本地EJB編寫Servlet程序的一般流程為: 1. 繼承一個HttpServlet類; 2. 覆蓋其doGet、doPost方法; 3. 在覆蓋方法的內部操作方法參數HttpServletRequest和HttpServletResponse。 4. 讀取請求利用HttpServletRequest。利用Htt
44、pServletRequest你可以操作Http協議的協議頭、可以得到請求的操作方 法、可以得到請求的路徑、可以得到請求的字符串、以及和請求客戶相關的信息,更主要的你可以得到Cookie和HttpSession這兩個對象。 5. 利用Cookie你可以操作“甜心”對象或者將其寫入HttpServletResponse中。 6. 向客戶輸出信息可以使用HttpServletResponse。使用HttpServletResponse可以寫入各種類型的協議頭、可以增加Cookie、可以重定向其它URL、可以向客戶發送Http協議的狀態碼。 7. 利用HttpSession在會話內完成你想實現的任何
45、功能。 同時Servlet還提供了一些事件和事件監聽器(簡單的觀察者模式而已)。還有就是過濾器(Filter)和包裝器(ServletRequestWrapper、ServletResponseWrapper)簡單的流的使用和裝飾器模式的使用。 學習Sevlet、JSP必然要部署到服務器中,記住通常文件部署的步驟和參數的設置以及在程序中如何使用就可以了。 完全理解Servlet后,學習jsp相對比較容易了!Jsp完全建立在Servlet的基礎上,它是為了迎合那些喜歡在Html文檔中嵌入腳本(如:PHP之類的網頁編程語言)的程序員的需要罷了!學起來也相當的容易! 一切看起來似乎那么的風平浪靜,簡
46、單好學!簡單的表象背后有其復雜的機理。要想對Servlet和Jsp徹底研究,你得研究Tomcat等開源軟件的具體 實現。它無非就是一個服務器,在客戶利用網頁通過HTTP協議向服務器發送請求后,服務器將此HTTP請求轉化為相應的 HttpServletRequest對象,調用你編寫的Servlet罷了,在你的Servlet中你肯定操作了此 HttpServletRequest了吧,同時操作了HttpServletResponse了吧,服務器就將此 HttpServletResponse按照HTTP協議的要求利用HTTP協議發送給你的瀏覽器了!在服務器端的Jsp網頁在被客戶請求后, Tomcat會
47、利用編譯軟件,使用javax.servlet.jsp包中的模板,編譯此jsp文件,編譯后就是一個Servlet!以后的操作和 Servlet完全一樣哦! 在Servlet和Jsp的基礎上出現了,所謂的高級技術:JSTL,Struts無非就是一些標簽和MVC模式的使用。 繼續前進吧!勝利就在前方! 7. 多線程 一個看起來很神秘,卻很容易上手、很難精通的方向! 我推薦兩本我感覺很好的書籍。首先是我第一本能上手看的這方面的書,Sams 1998年出版的Java Thread Programming,寫得暴好,很容易讀懂,我有空還時常看當時的筆記!要知道怎么好你自己看吧!第二本OReilly三次出版
48、的Java Threads,最新是2004版,國內好像有中文版,推薦你還是看英文版的吧!書中談到了與多線程相關的N個方向,如IO、Swing、 Collection等等。 給大家一點提示吧!java類庫中與多線程相關的類不是很多,主要有:Thread、ThreadGroup以及ThreadLocal和 InheritableThreadLocal四個類和一個Runnable接口;關鍵字synchronize、volatile ;以及Object對象的wait、notify、notifyAll方法! 1 Thread是多線程的核心類,提供了一系列創建和操作多線程的方法。 2 ThreadGrou
49、p是一個管理Thread的工具類。 3 ThreadLocal和InheritableThreadLocal為Thread提供了一個類似保險箱功能的存儲線程對象的類! 4 Runnable不用說了吧! 5 synchronize是同步方法和同步塊的核心哦!多個線程調用此方法時,只有一個線程可以使用此方法,其它方法阻塞,從而保證被操作對象內部狀態完整 性。某個線程調用帶有synchronize的方法或塊時會得到該對象的對象鎖,完成塊中的操作后釋放此對象鎖,從而其它對象可以繼續操作。 6 wait、notify、notifyAll提供了有效的等待/通知機制。Java語言中每一個對象都有一個休息室,
50、任何線程在其操作的對象的狀態不滿足 的情況下,在該對象的休息室中休息,釋放對象鎖;當其它線程操作該對象后,喚醒休息室中的線程,它們再檢查條件,當條件滿足后,執行相應的操作。 多線程大致就這么多基礎的!簡單嗎!這對于一個真正的程序員應該是不夠的,真正對多線程要有所掌握,請您研究java.util.concurrent包 吧!大師Doug Lea的作品,原先是一個開源的一致性編程的庫,后來被Sun公司并入java類庫。作者的網站上也有另外一個版本的該類庫!值得研究的好東西! Hibernation、OpenJMS等開源軟件都使用了此包! 8. 設計模式 談到設計模式很多人多會推薦GOF的那本,該書
51、在Amzon上是五星級的推薦書籍。不過對于學習java沒多久的、特別是java初學者,我很不推薦這本書。主要是該書的例子基本都是C+的,很多細節沒有講述得足夠清楚。 我給大家推薦的第一本是閻宏博士的Java 與模式,它是第一本中國人自己寫的關于設計模式的書籍,寫的比較有趣,融合了很多中華民族的文化和觀念,例子、類圖都比較多,且相對簡單!非常不錯的入門書籍又是大塊頭哦! 其次我推薦Wiley出版社出版的Pattern In Java一套三本,我才看了第一本,好像第二本不怎么樣,第三本還不錯! 第三本是中文翻譯版的關于多線程模式的(很難得的中文翻譯版)中國鐵道出版社2003年出版的Java多線程設
52、計模式,將多線程模式講得非常淺顯,配有大量的圖例,每章都有習題,最后有答案!我研究多線程模式就是由它開始的! 第四本,今年出版的Head First系列的Head First Design Pattern,秉承Head First系列圖書的優點,大量的類圖、豐富的實例、有趣的注解,值得購買! 其次在J2EE方向你可以研究閱讀Addison Wesley 2002年出版的Patterns of Enterprise Application Architecture,眾多大腕的作品,講企業消息集成的!Sun提供的J2EE PATTERNS SL500也很好!晚了推薦那一本Amzon 4星半的Holub on patterns,大師的作品,提供了,很值得研究的例子,不過對上面四本不是很熟悉的讀者,最好不要讀它!可能會讓你比較累! 我學習設計模式經過一段很曲折的路線,前前后后大約看了20本,閻宏博士的Java 與模式我看了4遍,還排除我第一次基本沒看懂的看!記得研一時老師給我們講了GOF的那本,作為選修課,我和它們計算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 離婚協議書模板定制與婚姻財產分割執行保障合同
- 女生管理課件
- 上海電大:國內質量評估與國際質量評審的深度剖析與比較研究
- 頭頸科相關護理課件
- 外貿風險管理課件
- 實踐的重要性和意義
- 冶金類畢業論文
- 競聚率的定義
- 對論文指導老師的評價100字
- 夏津縣宣傳課件大賽
- 醫療器械倉庫管理課件
- JB-T 8532-2023 脈沖噴吹類袋式除塵器
- 2024年火電電力職業技能鑒定考試-600MW超臨界機組運行筆試參考題庫含答案
- 2024年全國工會財務知識大賽備賽試題庫500(含答案)
- (正式版)SHT 3045-2024 石油化工管式爐熱效率設計計算方法
- 24春國家開放大學《地域文化(本)》形考任務1-4參考答案
- 茯苓規范化生產技術規程
- 關于深圳的英語作文
- 急性心肌梗死溶栓護理查房
- 中國親子關系與家庭教育方式調研分析報告
- 珠寶品鑒會策劃方案
評論
0/150
提交評論