1.1Java語(yǔ)言的基本特點(diǎn)
考點(diǎn)1:
Java是一種新的基于面同對(duì)象技術(shù)的網(wǎng)絡(luò)編程語(yǔ)言。Java語(yǔ)言利用現(xiàn)有的許多軟件新技術(shù),實(shí)現(xiàn)了許多原有編程語(yǔ)言所不能完成的功能,彌補(bǔ)了一些編程語(yǔ)言的缺陷??傮w上說(shuō),Java語(yǔ)言有以下特點(diǎn)。
1.簡(jiǎn)單易學(xué)
Java語(yǔ)言的基礎(chǔ)是Oak。簡(jiǎn)單性首先體現(xiàn)在系統(tǒng)本身的小巧,解釋程序、基本類庫(kù)以及、基本標(biāo)準(zhǔn)類庫(kù)和多線程支持一共只占有215 KB存儲(chǔ)空間,同時(shí)對(duì)硬件要求不是很高,以盡量精簡(jiǎn)的系統(tǒng)實(shí)現(xiàn)盡量強(qiáng)大的功能其次,在程序語(yǔ)言的語(yǔ)法方面,Java很淺顯易懂,不需要很好的編程基礎(chǔ),只需要有一定的基本知識(shí)和概念就可以。
2.面向?qū)ο蠹夹g(shù)
面向?qū)ο蠹夹g(shù)是一種新的編程思想,它將人們描述客觀世界的方法應(yīng)用于編程語(yǔ)言中,即將客觀世界看成是由不同對(duì)象組成的,具有相同或者相似特點(diǎn)的對(duì)象的實(shí)體可以抽象成類(class),每個(gè)類中封裝了自己特有的屬性和方法。這種方法比原有的面向過(guò)程的語(yǔ)言有更好的維護(hù)性、可重用性和可擴(kuò)展性。Java作為一種很成熟的面向?qū)ο缶幊陶Z(yǔ)言,把所有的Java應(yīng)用和Applet程序都作為對(duì)象,并且封裝成不同的類,同時(shí)Java語(yǔ)言對(duì)其簡(jiǎn)單類型數(shù)據(jù)也提供了封裝對(duì)象。封裝性實(shí)現(xiàn)了模塊間的獨(dú)立性和信息隱藏,繼承性實(shí)現(xiàn)了代碼的可重用,根據(jù)這些基本的概念,用戶可以根據(jù)自己的需要定義數(shù)據(jù)類型、定義屬性、建立方法和建立自己的類。
面向?qū)ο蠹夹g(shù)的幾個(gè)基本概念如下。
(1)對(duì)象,Java編程的最基本單元對(duì)象。
(2)類,在Java語(yǔ)言中類是對(duì)象的抽象。
(3)繼承,實(shí)現(xiàn)代碼重用,使用繼承創(chuàng)建一個(gè)新類,這個(gè)新類繼承已有類的有關(guān)功能。這個(gè)新類被稱做子類;而被繼承的類被稱做超類或者父類。
(4)封裝,對(duì)象把實(shí)例變量和相關(guān)方法封裝進(jìn)單個(gè)可表示的單元。
(5)包,Java描述相關(guān)類的集合。
3.分布式計(jì)算
作為當(dāng)前計(jì)算機(jī)網(wǎng)絡(luò)研究領(lǐng)域中的一個(gè)很熱門(mén)的方向,分布式計(jì)算為入們提供了更加快捷更加可靠的服務(wù)。Java是一種很好的編程語(yǔ)言,它的類庫(kù)支持分布式計(jì)算所需要的基本協(xié)議TCP/IP應(yīng)用程序可以很容易地通過(guò)URL地址訪問(wèn)網(wǎng)絡(luò)上任何其他地方的對(duì)象。
4.健壯性
健壯性也稱做魯棒性。Java語(yǔ)言在編譯和運(yùn)行時(shí)進(jìn)行大量的類型檢查,防止不匹配數(shù)據(jù)類型的出現(xiàn),對(duì)于非法的數(shù)據(jù)類型,Java語(yǔ)言在編譯和解釋時(shí)指出。Java語(yǔ)言還禁止了使用指針,以及指針數(shù)組訪問(wèn)內(nèi)存。更有特色的是Java語(yǔ)言有自動(dòng)回收垃圾的功能,這一點(diǎn)很好地解決了正確計(jì)算內(nèi)存地址的問(wèn)題,同時(shí)也省去了在編程時(shí)管理內(nèi)存分配的額外工作量。
5.安全性
在提供高效的分布式網(wǎng)絡(luò)計(jì)算的同時(shí),Java語(yǔ)言還提供了可靠的安全性保障,是目前安全性的程序語(yǔ)言。在Java虛擬機(jī)中運(yùn)行Java程序時(shí),對(duì)程序的訪問(wèn)權(quán)限有嚴(yán)格的檢查;執(zhí)行字節(jié)碼之前進(jìn)行必要檢查,不允許使用指針,防止對(duì)內(nèi)存的非法入侵。
6.跨平臺(tái)和可移植性
在Web應(yīng)用中,跨平臺(tái)性是衡量一個(gè)軟件的重要指標(biāo)。Java語(yǔ)言在這方面做得很成功,因?yàn)镴ava解釋器采用生成與系統(tǒng)結(jié)構(gòu)無(wú)關(guān)的字節(jié)代碼指令技術(shù),也就是說(shuō),在任何不同的操作系統(tǒng)下,只要正確安裝了Java運(yùn)行系統(tǒng),就有了編寫(xiě)調(diào)試Java程序的平臺(tái)。在分布式應(yīng)用中,Java的這個(gè)特點(diǎn)使同一個(gè)Java程序能在不用的系統(tǒng)上運(yùn)行,從而提高軟件生產(chǎn)效率??梢浦残允强缙脚_(tái)特性的一個(gè)延伸,即具有了跨平臺(tái)性,則保證了可移植性。Java程序、Java類庫(kù)、Java編譯器及Java系統(tǒng)都具有可移植性。
7.解釋執(zhí)行
不同于C++語(yǔ)言的編譯執(zhí)行,Java程序采用解釋執(zhí)行的方法。在系統(tǒng)編譯運(yùn)行Java程序時(shí),Java編譯器將Java程序轉(zhuǎn)化為字節(jié)碼,字節(jié)本身帶有編譯時(shí)產(chǎn)生的信息,減輕了連接時(shí)系統(tǒng)的開(kāi)銷,在運(yùn)行時(shí),解釋器將編譯得到的字節(jié)碼進(jìn)行解釋執(zhí)行。
8.高效性
雖然解釋執(zhí)行的效率會(huì)比較低,并且在系統(tǒng)中額外加載一個(gè)JVM (Java虛擬機(jī)),增加了系統(tǒng)的負(fù)荷,但是由于字節(jié)碼很容易直接被轉(zhuǎn)化為一些特定的CPU可識(shí)別的機(jī)器代碼,因此執(zhí)行效率非常高。另外在編譯時(shí)還可以通過(guò)優(yōu)化字節(jié)碼來(lái)生成更高效的代碼,同時(shí)在Java語(yǔ)言中提供的多線程技術(shù)也為提高程序執(zhí)行的效率提供了強(qiáng)大的支持。
9.多線程
在處理許多大規(guī)模并發(fā)、同步和共享事務(wù)的時(shí)候,多線程技術(shù)是一個(gè)很好的解決方案Java語(yǔ)言的多線程技術(shù),為實(shí)現(xiàn)網(wǎng)絡(luò)大量并發(fā)事件處理提供了良好的編程模式。
10.動(dòng)態(tài)性
Web應(yīng)用對(duì)系統(tǒng)的可擴(kuò)充性、可伸縮性要求很高,Java語(yǔ)言為這種要求提供了實(shí)現(xiàn)方法。在Java語(yǔ)言中,類本身是可擴(kuò)展和可伸縮的,可以增加或者刪除新的方法或者屬性等。同時(shí)Java語(yǔ)言還提供了很多編程接口,用來(lái)支持多重繼承,提高了類繼承的靈活的擴(kuò)展性。
11.Applet的特點(diǎn)
嵌入式程序設(shè)計(jì)也是Java語(yǔ)言的一大特點(diǎn)。Applet程序是一種特殊的Java應(yīng)用程序,它通過(guò)嵌入網(wǎng)頁(yè)發(fā)布到Web上。在HTML頁(yè)面中嵌入Applet程序,使互聯(lián)網(wǎng)上的信息系統(tǒng)具有更好的動(dòng)態(tài)性和交互性。Applet類作為Java語(yǔ)言的一個(gè)基本的類庫(kù),提供了很好的程序設(shè)計(jì)模式,編寫(xiě)此類應(yīng)用程序時(shí),通過(guò)繼承Applet類,用戶就只需要考慮相應(yīng)的方法實(shí)現(xiàn),而不需要過(guò)多地注意窗口如何創(chuàng)建,事件如何被處理等基本問(wèn)題,從而大大簡(jiǎn)化了程序設(shè)計(jì)的復(fù)雜度。
考點(diǎn)1:
Java是一種新的基于面同對(duì)象技術(shù)的網(wǎng)絡(luò)編程語(yǔ)言。Java語(yǔ)言利用現(xiàn)有的許多軟件新技術(shù),實(shí)現(xiàn)了許多原有編程語(yǔ)言所不能完成的功能,彌補(bǔ)了一些編程語(yǔ)言的缺陷??傮w上說(shuō),Java語(yǔ)言有以下特點(diǎn)。
1.簡(jiǎn)單易學(xué)
Java語(yǔ)言的基礎(chǔ)是Oak。簡(jiǎn)單性首先體現(xiàn)在系統(tǒng)本身的小巧,解釋程序、基本類庫(kù)以及、基本標(biāo)準(zhǔn)類庫(kù)和多線程支持一共只占有215 KB存儲(chǔ)空間,同時(shí)對(duì)硬件要求不是很高,以盡量精簡(jiǎn)的系統(tǒng)實(shí)現(xiàn)盡量強(qiáng)大的功能其次,在程序語(yǔ)言的語(yǔ)法方面,Java很淺顯易懂,不需要很好的編程基礎(chǔ),只需要有一定的基本知識(shí)和概念就可以。
2.面向?qū)ο蠹夹g(shù)
面向?qū)ο蠹夹g(shù)是一種新的編程思想,它將人們描述客觀世界的方法應(yīng)用于編程語(yǔ)言中,即將客觀世界看成是由不同對(duì)象組成的,具有相同或者相似特點(diǎn)的對(duì)象的實(shí)體可以抽象成類(class),每個(gè)類中封裝了自己特有的屬性和方法。這種方法比原有的面向過(guò)程的語(yǔ)言有更好的維護(hù)性、可重用性和可擴(kuò)展性。Java作為一種很成熟的面向?qū)ο缶幊陶Z(yǔ)言,把所有的Java應(yīng)用和Applet程序都作為對(duì)象,并且封裝成不同的類,同時(shí)Java語(yǔ)言對(duì)其簡(jiǎn)單類型數(shù)據(jù)也提供了封裝對(duì)象。封裝性實(shí)現(xiàn)了模塊間的獨(dú)立性和信息隱藏,繼承性實(shí)現(xiàn)了代碼的可重用,根據(jù)這些基本的概念,用戶可以根據(jù)自己的需要定義數(shù)據(jù)類型、定義屬性、建立方法和建立自己的類。
面向?qū)ο蠹夹g(shù)的幾個(gè)基本概念如下。
(1)對(duì)象,Java編程的最基本單元對(duì)象。
(2)類,在Java語(yǔ)言中類是對(duì)象的抽象。
(3)繼承,實(shí)現(xiàn)代碼重用,使用繼承創(chuàng)建一個(gè)新類,這個(gè)新類繼承已有類的有關(guān)功能。這個(gè)新類被稱做子類;而被繼承的類被稱做超類或者父類。
(4)封裝,對(duì)象把實(shí)例變量和相關(guān)方法封裝進(jìn)單個(gè)可表示的單元。
(5)包,Java描述相關(guān)類的集合。
3.分布式計(jì)算
作為當(dāng)前計(jì)算機(jī)網(wǎng)絡(luò)研究領(lǐng)域中的一個(gè)很熱門(mén)的方向,分布式計(jì)算為入們提供了更加快捷更加可靠的服務(wù)。Java是一種很好的編程語(yǔ)言,它的類庫(kù)支持分布式計(jì)算所需要的基本協(xié)議TCP/IP應(yīng)用程序可以很容易地通過(guò)URL地址訪問(wèn)網(wǎng)絡(luò)上任何其他地方的對(duì)象。
4.健壯性
健壯性也稱做魯棒性。Java語(yǔ)言在編譯和運(yùn)行時(shí)進(jìn)行大量的類型檢查,防止不匹配數(shù)據(jù)類型的出現(xiàn),對(duì)于非法的數(shù)據(jù)類型,Java語(yǔ)言在編譯和解釋時(shí)指出。Java語(yǔ)言還禁止了使用指針,以及指針數(shù)組訪問(wèn)內(nèi)存。更有特色的是Java語(yǔ)言有自動(dòng)回收垃圾的功能,這一點(diǎn)很好地解決了正確計(jì)算內(nèi)存地址的問(wèn)題,同時(shí)也省去了在編程時(shí)管理內(nèi)存分配的額外工作量。
5.安全性
在提供高效的分布式網(wǎng)絡(luò)計(jì)算的同時(shí),Java語(yǔ)言還提供了可靠的安全性保障,是目前安全性的程序語(yǔ)言。在Java虛擬機(jī)中運(yùn)行Java程序時(shí),對(duì)程序的訪問(wèn)權(quán)限有嚴(yán)格的檢查;執(zhí)行字節(jié)碼之前進(jìn)行必要檢查,不允許使用指針,防止對(duì)內(nèi)存的非法入侵。
6.跨平臺(tái)和可移植性
在Web應(yīng)用中,跨平臺(tái)性是衡量一個(gè)軟件的重要指標(biāo)。Java語(yǔ)言在這方面做得很成功,因?yàn)镴ava解釋器采用生成與系統(tǒng)結(jié)構(gòu)無(wú)關(guān)的字節(jié)代碼指令技術(shù),也就是說(shuō),在任何不同的操作系統(tǒng)下,只要正確安裝了Java運(yùn)行系統(tǒng),就有了編寫(xiě)調(diào)試Java程序的平臺(tái)。在分布式應(yīng)用中,Java的這個(gè)特點(diǎn)使同一個(gè)Java程序能在不用的系統(tǒng)上運(yùn)行,從而提高軟件生產(chǎn)效率??梢浦残允强缙脚_(tái)特性的一個(gè)延伸,即具有了跨平臺(tái)性,則保證了可移植性。Java程序、Java類庫(kù)、Java編譯器及Java系統(tǒng)都具有可移植性。
7.解釋執(zhí)行
不同于C++語(yǔ)言的編譯執(zhí)行,Java程序采用解釋執(zhí)行的方法。在系統(tǒng)編譯運(yùn)行Java程序時(shí),Java編譯器將Java程序轉(zhuǎn)化為字節(jié)碼,字節(jié)本身帶有編譯時(shí)產(chǎn)生的信息,減輕了連接時(shí)系統(tǒng)的開(kāi)銷,在運(yùn)行時(shí),解釋器將編譯得到的字節(jié)碼進(jìn)行解釋執(zhí)行。
8.高效性
雖然解釋執(zhí)行的效率會(huì)比較低,并且在系統(tǒng)中額外加載一個(gè)JVM (Java虛擬機(jī)),增加了系統(tǒng)的負(fù)荷,但是由于字節(jié)碼很容易直接被轉(zhuǎn)化為一些特定的CPU可識(shí)別的機(jī)器代碼,因此執(zhí)行效率非常高。另外在編譯時(shí)還可以通過(guò)優(yōu)化字節(jié)碼來(lái)生成更高效的代碼,同時(shí)在Java語(yǔ)言中提供的多線程技術(shù)也為提高程序執(zhí)行的效率提供了強(qiáng)大的支持。
9.多線程
在處理許多大規(guī)模并發(fā)、同步和共享事務(wù)的時(shí)候,多線程技術(shù)是一個(gè)很好的解決方案Java語(yǔ)言的多線程技術(shù),為實(shí)現(xiàn)網(wǎng)絡(luò)大量并發(fā)事件處理提供了良好的編程模式。
10.動(dòng)態(tài)性
Web應(yīng)用對(duì)系統(tǒng)的可擴(kuò)充性、可伸縮性要求很高,Java語(yǔ)言為這種要求提供了實(shí)現(xiàn)方法。在Java語(yǔ)言中,類本身是可擴(kuò)展和可伸縮的,可以增加或者刪除新的方法或者屬性等。同時(shí)Java語(yǔ)言還提供了很多編程接口,用來(lái)支持多重繼承,提高了類繼承的靈活的擴(kuò)展性。
11.Applet的特點(diǎn)
嵌入式程序設(shè)計(jì)也是Java語(yǔ)言的一大特點(diǎn)。Applet程序是一種特殊的Java應(yīng)用程序,它通過(guò)嵌入網(wǎng)頁(yè)發(fā)布到Web上。在HTML頁(yè)面中嵌入Applet程序,使互聯(lián)網(wǎng)上的信息系統(tǒng)具有更好的動(dòng)態(tài)性和交互性。Applet類作為Java語(yǔ)言的一個(gè)基本的類庫(kù),提供了很好的程序設(shè)計(jì)模式,編寫(xiě)此類應(yīng)用程序時(shí),通過(guò)繼承Applet類,用戶就只需要考慮相應(yīng)的方法實(shí)現(xiàn),而不需要過(guò)多地注意窗口如何創(chuàng)建,事件如何被處理等基本問(wèn)題,從而大大簡(jiǎn)化了程序設(shè)計(jì)的復(fù)雜度。