課程目錄

          本套課程為Java從入門到精通詳解視頻教程[高清版],主講:韓順平,本套課程是java入門的絕好教程,希望本套課程能給學(xué)習(xí)java的朋友帶來(lái)幫助。
網(wǎng)盤(pán)高清下載地址:http://pan.baidu.com/share/link?shareid=1762854771&uk=4160899957
《Java從入門到精通》第1篇【基礎(chǔ)知識(shí)】主要講解如何創(chuàng)建第一個(gè)Java應(yīng)用程序、Java語(yǔ)言的特點(diǎn)、Java開(kāi)發(fā)環(huán)境的配置、程序的檢測(cè)、Java開(kāi)發(fā)工具Eclipse的使用、常量和變量、Java中的數(shù)據(jù)類型、運(yùn)算符、表達(dá)式、語(yǔ)句、Java程序控制和數(shù)組等;第2篇【核心技術(shù)】主要講解類和對(duì)象、類的封裝、繼承和多態(tài)、抽象類和接口、類的專題研究、Java常用類庫(kù)、包及訪問(wèn)權(quán)限、Java程序異常處理、Java類集框架、枚舉和Annotation等;第3篇【高級(jí)應(yīng)用】主要講解Java多線程、文件I/O操作、Java Applet小程序、Java網(wǎng)絡(luò)程序設(shè)計(jì)和Java數(shù)據(jù)庫(kù)編程等;第4篇【項(xiàng)目實(shí)戰(zhàn)】主要講解兩個(gè)大的項(xiàng)目-五子棋和人事管理系統(tǒng)的設(shè)計(jì)。
     - 6 -  個(gè)包。學(xué)習(xí)基礎(chǔ)類庫(kù)就是學(xué)習(xí)rt.jar。基礎(chǔ)類庫(kù)里面的類非常非常多。據(jù)說(shuō)有3000多個(gè),我沒(méi)有統(tǒng)計(jì)過(guò)。但是真正對(duì)于我們來(lái)說(shuō)最核心的只有4個(gè),分別是   java.lang.*;  java.io.*;  java.util.*;  java.sql.*;    這四個(gè)包的學(xué)習(xí),每個(gè)包的學(xué)習(xí)都可以寫(xiě)成一本厚厚的教材,而O"reilly也確實(shí)是這樣做的。我覺(jué)得如果時(shí)間比較緊,是不可能通過(guò)讀四本書(shū)來(lái)學(xué)習(xí)。我覺(jué)得比較好的學(xué)習(xí)方法是這樣的:   首先要通讀整個(gè)package的框架,了解整個(gè)package的class,interface,exception的構(gòu)成,最好是能夠找到介紹整個(gè)包框架的文章。這些專門介紹包的書(shū)籍的前幾章應(yīng)該就是這些總體的框架內(nèi)容介紹。    對(duì)包整體框架的把握并不是要熟悉每個(gè)類的用法,記住它有哪些屬性,方法。想記也記不住的。而是要知道包有哪些方面的類構(gòu)成的,這些類的用途是什么,最核心的幾個(gè)類分別是完成什么功能的。我在給人培訓(xùn)的時(shí)候一般是一次課講一個(gè)包,所以不可能詳細(xì)的介紹每個(gè)類的用法,但是我反復(fù)強(qiáng)調(diào),我給你們講這些包的不是要告訴你們類的方法是怎么調(diào)用的,也不要求你們記住類的方法調(diào)用,而是要你們了解,Java給我們提供了哪些類,每個(gè)類是用在什么場(chǎng)合,當(dāng)我遇到問(wèn)題的時(shí)候,我知道哪個(gè)類,或者哪幾個(gè)類的組合可以解決我的問(wèn)題,That"all!,當(dāng)我們具體寫(xiě)程序的時(shí)候,只要你知道該用哪個(gè)類來(lái)完成你的工作就足夠了。編碼的時(shí)候,具體的方法調(diào)用,是邊寫(xiě)代碼,邊查Documentation,所有的東西都在Documentation里面,不要求你一定記住,實(shí)際你也記不住3000多個(gè)類的總共將近10萬(wàn)個(gè)方法調(diào)用。所以對(duì)每個(gè)包的總體框架的把握就變得極為重要。    第五步,通過(guò)上面的學(xué)習(xí),如果學(xué)的比較扎實(shí)的話,就打好了Java的基礎(chǔ)了,剩下要做的工作是掃清Documentation里面除了上面4個(gè)包之外的其他一些比較有用處的類。相信進(jìn)展到這一步,Java的自學(xué)能力已經(jīng)被培養(yǎng)出來(lái)了,可以到了直接學(xué)習(xí)Documentation的水平了。除了要做GUI編程之外,JDK里面其他會(huì)有用處的包是這些:   java.text.*;  java.net.*;   javax.naming.*;   這些包里面真正用的比較多的類其實(shí)很少,只有幾個(gè),所以不需要花很多時(shí)間。    第六步,Java Web 編程   Web編程的核心是HTTP協(xié)議,HTTP協(xié)議和Java無(wú)關(guān),如果不熟悉HTTP協(xié)議的話,雖然也可以學(xué)好Servlet/JSP編程,但是達(dá)不到舉一反三,一通百通的境界。所以HTTP協(xié)議的學(xué)習(xí)是必備的。如果熟悉了HTTP協(xié)議的話,又有了Java編程的良好的基礎(chǔ),學(xué)習(xí)Servlet/JSP簡(jiǎn)直易如反掌,我學(xué)習(xí)Servlet/JSP就用了不到一周的時(shí)間,然后就開(kāi)始用JSP來(lái)做項(xiàng)目了。    在Servlet/JSP的學(xué)習(xí)中,重頭仍然是Servlet Documentation。Servlet API最常用的類很少,花比較少的時(shí)間就可以掌握了。把這些類都看一遍,多寫(xiě)幾個(gè)例子試試。Servlet/JSP編程本質(zhì)就是  - 7 -  在反復(fù)調(diào)用這些類來(lái)通過(guò)HTTP協(xié)議在Web Server和Brower之間交談。另外對(duì)JSP,還需要熟悉幾個(gè)常用JSP的標(biāo)記,具體的寫(xiě)法記不住的話,臨時(shí)查就是了。    此外Java Web編程學(xué)習(xí)的重點(diǎn)要放在Web Application的設(shè)計(jì)模式上,如何進(jìn)行業(yè)務(wù)邏輯的分析,并且進(jìn)行合理的設(shè)計(jì),按照MVC設(shè)計(jì)模式的要求,運(yùn)用Servlet和JSP分別完成不同的邏輯層,掌握如何在Servlet和JSP之間進(jìn)行流程的控制和數(shù)據(jù)的共享,以及Web Application應(yīng)該如何配置和部署。     第七步,J2EE編程   以上的學(xué)習(xí)過(guò)程如果是比較順利的話,進(jìn)行到這一步,難度又陡然提高。因?yàn)樯厦娴闹R(shí)內(nèi)容都是只涉及一個(gè)方面,而像EJB,JMS,JTA等核心的J2EE規(guī)范往往是幾種Java技術(shù)的綜合運(yùn)用的結(jié)晶,所以掌握起來(lái)難度比較大。    首先一定要學(xué)習(xí)好JNDI,JNDI是App Server定位服務(wù)器資源(EJB組件,Datasouce,JMS)查找方法,如果對(duì)JNDI不熟悉的話,EJB,JMS這些東西幾乎學(xué)不下去。JNDI其實(shí)就是javax.naming.*這個(gè)包,運(yùn)用起來(lái)很簡(jiǎn)單。難點(diǎn)在于服務(wù)器資源文件的配置。對(duì)于服務(wù)器資源文件的配置,就需要看看專門的文檔規(guī)范了,比如web.xml的寫(xiě)法,ejb-jar.xml的寫(xiě)法等等。針對(duì)每種不同的App Server,還有自己的服務(wù)資源配置文件,也是需要熟悉的。    然后可以學(xué)習(xí)JTA,主要是要理解JTA對(duì)于事務(wù)的控制的方法,以及該在什么場(chǎng)合使用JTA。這里可以簡(jiǎn)單的舉個(gè)例子,我們知道一般情況可以對(duì)于一個(gè)數(shù)據(jù)庫(kù)連接進(jìn)行事務(wù)控制(conn.setAutoCommit(false),....,conn.commit()),做為一個(gè)原子操作,但是假設(shè)我的業(yè)務(wù)需求是要把對(duì)兩個(gè)不同數(shù)據(jù)庫(kù)的操作做為一個(gè)原子操作,你能做的到嗎?這時(shí)候只能用JTA了。假設(shè)操作過(guò)程是先往A數(shù)據(jù)庫(kù)插一條記錄,然后刪除B數(shù)據(jù)庫(kù)另一個(gè)記錄,我們自己寫(xiě)代碼是控制不了把整個(gè)操作做為一個(gè)原子操作的。用JTA的話,由App Server來(lái)完成控制。    在學(xué)習(xí)EJB之前要學(xué)習(xí)對(duì)象序列化和RMI,RMI是EJB的基礎(chǔ)。接著學(xué)習(xí)JMS和EJB,對(duì)于EJB來(lái)說(shuō),最關(guān)鍵是要理解EJB是如何通過(guò)RMI來(lái)實(shí)現(xiàn)對(duì)遠(yuǎn)端對(duì)象的調(diào)用的,以及在什么情況下要用到EJB。    在學(xué)習(xí)完EJB,JMS這些東西之后,你可能會(huì)意識(shí)到要急不可待學(xué)習(xí)兩個(gè)領(lǐng)域的知識(shí),一個(gè)是UML,另一個(gè)是Design Pattern。Java企業(yè)軟件的設(shè)計(jì)非常重視框架(Framework)的設(shè)計(jì),一個(gè)好的軟件框架是軟件開(kāi)發(fā)成功的必要條件。在這個(gè)時(shí)候,應(yīng)該開(kāi)始把學(xué)習(xí)的重點(diǎn)放在設(shè)計(jì)模式和框架的學(xué)習(xí)上,通過(guò)學(xué)習(xí)和實(shí)際的編程經(jīng)驗(yàn)來(lái)掌握EJB的設(shè)計(jì)模式和J2EE的核心模式。    J2EE規(guī)范里面,除了EJB,JMS,JTA,Servlet/JSP,JDBC之外還有很多很多的企業(yè)技術(shù),這里不一一進(jìn)行介紹了。    另外還有一個(gè)最新領(lǐng)域Web Services。Web Services也完全沒(méi)有任何新東西,它像是一種黏合劑,可以把不同的服務(wù)統(tǒng)一起來(lái)提供一個(gè)統(tǒng)一的調(diào)用接口,作為使用者來(lái)說(shuō),我只要獲得服務(wù)提供者給我的WSDL(對(duì)服務(wù)的描述),就夠了,我完全不知道服務(wù)器提供者提供的服務(wù)究竟  - 8 -  是EJB組件,還是.Net組件,還是什么CORBA組件,還是其他的什么實(shí)現(xiàn),我也不需要知道。Web Services最偉大的地方就在于通過(guò)統(tǒng)一的服務(wù)提供方式和調(diào)用方式,實(shí)現(xiàn)了整個(gè)Internet服務(wù)的共享,是一個(gè)非常令人激動(dòng)的技術(shù)領(lǐng)域。Web Services好像目前還沒(méi)有什么很好的書(shū)籍,但是可以通過(guò)在網(wǎng)絡(luò)上面查資料的方式來(lái)學(xué)習(xí)。    Java Learning Path(四) 方法篇    Java作為一門編程語(yǔ)言,最好的學(xué)習(xí)方法就是寫(xiě)代碼。當(dāng)你學(xué)習(xí)一個(gè)類以后,你就可以自己寫(xiě)個(gè)簡(jiǎn)單的例子程序來(lái)運(yùn)行一下,看看有什么結(jié)果,然后再多調(diào)用幾個(gè)類的方法,看看運(yùn)行結(jié)果,這樣非常直觀的把類給學(xué)會(huì)了,而且記憶非常深刻。然后不應(yīng)該滿足把代碼調(diào)通,你應(yīng)該想想看如果我不這樣寫(xiě),換個(gè)方式,再試試行不行。記得哪個(gè)高人說(shuō)過(guò)學(xué)習(xí)編程就是個(gè)破壞的過(guò)程,把書(shū)上的例子,自己學(xué)習(xí)Documentation編寫(xiě)的例子在運(yùn)行通過(guò)以后,不斷的嘗試著用不同的方法實(shí)現(xiàn),不斷的嘗試破壞代碼的結(jié)構(gòu),看看它會(huì)有什么結(jié)果。通過(guò)這樣的方式,你會(huì)很徹底的很精通的掌握J(rèn)ava。    舉個(gè)例子,我們都編過(guò)Hello World    public class HelloWorld {   public static void main(String[] args) {   System.out.println("Hello World");  }  }    很多初學(xué)者不是很理解為什么main方法一定要這樣來(lái)定義public static void main(String[] args),能不能不這樣寫(xiě)?包括我剛學(xué)習(xí)Java的時(shí)候也有這樣的疑問(wèn)。想知道答案嗎?很簡(jiǎn)單,你把main改個(gè)名字運(yùn)行一下,看看報(bào)什么錯(cuò)誤,然后根據(jù)出錯(cuò)信息進(jìn)行分析;把main的public取掉,在試試看,報(bào)什么錯(cuò)誤;static去掉還能不能運(yùn)行;不知道m(xù)ain方法是否一定要傳一個(gè)String[]數(shù)組的,把String[]改掉,改成int[],或者String試試看;不知道是否必須寫(xiě)args參數(shù)名稱的,也可以把a(bǔ)rgs改成別的名字,看看運(yùn)行結(jié)果如何。    我當(dāng)初學(xué)習(xí)Java的時(shí)候就是這樣做的,把Hello World程序反復(fù)改了七八次,不斷運(yùn)行,分析運(yùn)行結(jié)果,最后就徹底明白為什么了main方法是這樣定義的了。    此外,我對(duì)于static,public,private,Exception,try{ }catch {}finally{}等等等等一開(kāi)始都不是很懂,都是把參考書(shū)上面的例子運(yùn)行成功,然后就開(kāi)始破壞它,不斷的根據(jù)自己心里面的疑問(wèn)來(lái)重新改寫(xiě)程序,看看能不能運(yùn)行,運(yùn)行出來(lái)是個(gè)什么樣子,是否可以得到預(yù)期的結(jié)果。這樣雖然比較費(fèi)時(shí)間,不過(guò)一個(gè)例子程序這樣反復(fù)破壞幾次之后。我就對(duì)這個(gè)相關(guān)的知識(shí)徹底學(xué)通了。有時(shí)候甚至故意寫(xiě)一些錯(cuò)誤的代碼來(lái)運(yùn)行,看看能否得到預(yù)期的運(yùn)行錯(cuò)誤。這樣對(duì)于編程的掌握是及其深刻的。    其中特別值得一提的是JDK有一個(gè)非常棒的調(diào)試功能,-verbose    - 9 -  java –verbose   javac –verbose 以及其它很多JDK工具都有這個(gè)選項(xiàng)   -verbose 可以顯示在命令執(zhí)行的過(guò)程中,JVM都依次加載哪里Class,通過(guò)這些寶貴的調(diào)試信息,可以幫助我們分析出JVM在執(zhí)行的過(guò)程中都干了些什么。    另外,自己在學(xué)習(xí)過(guò)程中,寫(xiě)的很多的這種破壞例程,應(yīng)該有意識(shí)的分門別類的保存下來(lái),在工作中積累的典型例程也應(yīng)該定期整理,日積月累,自己就有了一個(gè)代碼庫(kù)了。遇到類似的問(wèn)題,到代碼庫(kù)里面 Copy & Paste ,Search & Replace,就好了,極大提高了開(kāi)發(fā)速度。最理想的情況是把一些通用的例程自己再抽象一層,形成一個(gè)通用的類庫(kù),封裝好。那么可復(fù)用性就更強(qiáng)了。    所以我覺(jué)得其實(shí)不是特別需要例程的,自己寫(xiě)的破壞例程就是最好的例子,如果你實(shí)在對(duì)自己寫(xiě)的代碼不放心的話,我強(qiáng)烈推薦你看看JDK基礎(chǔ)類庫(kù)的Java源代碼。在JDK安裝目錄下面會(huì)有一個(gè)src.zip,解開(kāi)來(lái)就可以完整的看到整個(gè)JDK基礎(chǔ)類庫(kù),也就是rt.jar的Java源代碼,你可以參考一下Sun是怎么寫(xiě)Java程序的,規(guī)范是什么樣子的。我自己在學(xué)習(xí)Java的類庫(kù)的時(shí)候,當(dāng)有些地方理解的不是很清楚的時(shí)候,或者想更加清晰的理解運(yùn)作的細(xì)節(jié)的時(shí)候,往往會(huì)打開(kāi)相應(yīng)的類的源代碼,通過(guò)看源代碼,所有的問(wèn)題都會(huì)一掃而空。

郵箱
huangbenjincv@163.com

陵川县| 绵竹市| 永年县| 清水县| 吉林市| 白朗县| 古浪县| 商城县| 新兴县| 天全县| 德阳市| 于都县| 清丰县| 兴业县| 普格县| 上思县| 铜梁县| 蕲春县| 政和县| 扶余县| 友谊县| 朔州市| 自贡市| 响水县| 那坡县| 白山市| 理塘县| 永康市| 门源| 夹江县| 松滋市| 绥芬河市| 吴江市| 正镶白旗| 海安县| 隆德县| 金沙县| 霍山县| 万山特区| 离岛区| 邹平县|