了解java語言的特性和能力。發(fā)展過程
了解java語言的特性和能力。
了解java語言的發(fā)展過程
學(xué)習(xí)使用java2 sdk的基本開發(fā)工具
編輯,編譯和運(yùn)行你的第一個(gè)java程序
為源程序代碼加入注釋,也包括文檔注釋。
使用javadoc工具和文檔注釋來系統(tǒng)管理制作的類、
使用jar工具 打包所有的java應(yīng)用程序。Applet。組件或servlet用于發(fā)布使用、
Java具有一下的使用方式:
◎Java生成的獨(dú)立運(yùn)行程序,可運(yùn)行在不同規(guī)模和不同復(fù)雜度的計(jì)算機(jī)上。小到潛入芯片的一小段程序,大到運(yùn)行在大型超級(jí)市場(chǎng)的訂單錄入系統(tǒng)。
◎生成基于web的applet在網(wǎng)絡(luò)中,它們可隨html文檔被下載并被web瀏覽器運(yùn)行。
◎編寫java類,作為web服務(wù)器的擴(kuò)充。在web服務(wù)器上的頁(yè)面被發(fā)送到瀏覽器前,為其準(zhǔn)備動(dòng)態(tài)內(nèi)容
@在網(wǎng)絡(luò)中發(fā)布程序。Java類可以被用來在不同及其間傳遞數(shù)據(jù),或調(diào)用彼此機(jī)器上的方法。
◎ 應(yīng)用基于java的技術(shù),滿足企業(yè)廣域范圍內(nèi)的數(shù)據(jù)交換處理。Sun。ibm等公司,在研究java的最前線技術(shù)時(shí),制定出了許多技術(shù)標(biāo)準(zhǔn)規(guī)范,其中主要規(guī)范為:定義java的類與事務(wù)處理器、其他開發(fā)語言生成的類或其他不同開發(fā)環(huán)境的窗體之間的工作方式。至今為止,這些標(biāo)準(zhǔn)仍在繼續(xù)發(fā)展之中。
3種java程序的編制方法
◎ 應(yīng)用程序能夠獨(dú)立運(yùn)行在任何規(guī)模的計(jì)算機(jī)上,他可以是大型應(yīng)用軟件,也可以是簡(jiǎn)單的小型應(yīng)用程序。它們既可以通過命令行運(yùn)行,也可通過圖形用戶界面運(yùn)行。一個(gè)應(yīng)用程序是否包含連接數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)或其它應(yīng)用程序的接口,也取決于該應(yīng)用程序索使用的應(yīng)用程序接口(api)集。Java應(yīng)用程序只運(yùn)行在java虛擬機(jī)(jvm)上。它們不是為某個(gè)特定的處理器指令集或操作系統(tǒng)編譯的,而是為java平臺(tái)編譯的。
◎ Applet是一種可以通過html文檔運(yùn)行的程序。Html表示超文本標(biāo)記語言,是一種全局性的信息機(jī)構(gòu),是網(wǎng)頁(yè)使用的標(biāo)記語言,它將文檔中的不同部分通過關(guān)鍵字建立連接,使信息以交互方式進(jìn)行搜索。Html具有專門為applet定義的標(biāo)識(shí)符。當(dāng)瀏覽器顯示html文檔時(shí),基于java的web瀏覽器要有一個(gè)jvm來運(yùn)行applet。Applet常被用來增加網(wǎng)頁(yè)的視覺和多媒體效果。
◎ Servlet就像applet,是用來優(yōu)化網(wǎng)頁(yè)設(shè)計(jì)的java程序。于applet不同的時(shí),servlet運(yùn)行在基于java的web服務(wù)器上,用來生成被發(fā)送到客戶端瀏覽器上進(jìn)行顯示的html文檔。
例如,可以使用servlet對(duì)web客戶端提交的html窗體進(jìn)行加工,制作成一個(gè)新的回應(yīng)網(wǎng)頁(yè)。
Java技術(shù)具有名副其實(shí)的真正的代碼可重用性:
◎ javabean使java類,或者使java類組,但是要遵循一套非常嚴(yán)格的技術(shù)標(biāo)準(zhǔn)。可以通過構(gòu)建javabean組建,將java類變成可重用的和可配置的軟件組件。通過使用開發(fā)工具,程序員可以將javabean組件連接起來并應(yīng)用到java應(yīng)用程序中,就像用標(biāo)準(zhǔn)微處理芯片焊接一個(gè)集成電路板一樣。許多的java核心類都是javabean組件,如用于gui的可視化圖形對(duì)象。
◎ 企業(yè)型java小系統(tǒng)(enterprise java bean, ejb)使一種非常有前途的新興技術(shù)。Ejb標(biāo)準(zhǔn)定義了分布式企業(yè)環(huán)境下,服務(wù)器組件的軟件體系結(jié)構(gòu)。它的目標(biāo)式讓程序員專注于java類需要執(zhí)行的業(yè)務(wù)邏輯。企業(yè)型java服務(wù)器(enterprise java server,ejs)用于管理以下服務(wù):事務(wù)處理、安全、命名服務(wù)來定位和鑒別ejb。通常,編程員需要一個(gè)ejb開發(fā)工具來構(gòu)造和發(fā)布ejb。
Java的健壯性
@在jvm上運(yùn)行的程序不能直接訪問機(jī)器本地系統(tǒng)資源,除非通過jvm支持的api。因此,java程序不能訪問不允許應(yīng)用程序使用的內(nèi)存區(qū)域,不能錯(cuò)誤調(diào)用api,不能執(zhí)行一些比較低級(jí)的操作,因?yàn)檫@些操作常常式用其他語言編制的程序出錯(cuò)的原因。
@jvm執(zhí)行自己哦能夠內(nèi)存單元管理。Java語言能很大程度的降低濫用內(nèi)存單元的幾率,而其他的語言一般斗明確指出內(nèi)存的申請(qǐng)和釋放必須由程序員來完成。程序員很難任意訪問內(nèi)存單元,可jvm卻可以實(shí)時(shí)檢查內(nèi)存中可用的界限。因此,程序從來不會(huì)在不該訪問內(nèi)存單元的時(shí)候進(jìn)行訪問,或錯(cuò)誤調(diào)用了他們本不想調(diào)用的內(nèi)存單元。
@java平臺(tái)具有一個(gè)強(qiáng)大的管理機(jī)制用來處理錯(cuò)誤和意外事件。當(dāng)某個(gè)操作不能被完全執(zhí)行時(shí),用其他編程語言編制的程序往往回過早地終止。在jvm中有一個(gè)處理錯(cuò)誤信息和意外事件的對(duì)象叫Exception(異常)。這個(gè)對(duì)象記錄了所有發(fā)生過的意外事件的類型和原因。程序員可以微所有類型的意外事件編寫自己所需的程序。例如,當(dāng)程序試圖讀取一個(gè)不存在的文件時(shí),錯(cuò)誤處理程序就會(huì)捕捉到錯(cuò)誤信息并做出適當(dāng)處理。盡管錯(cuò)誤處理模塊不是java語言所獨(dú)有的,但它在java環(huán)境中的使用卻有更可靠的表現(xiàn)。
@java語言是類型安全的,也就是 說,不能隨意的使用某個(gè)信息,所有的操作都應(yīng)該基于該信息所定義的類型。也不能玩弄投機(jī)取巧的的小伎倆,因?yàn)檫@種做法在其他語言中是許多程序出錯(cuò)的罪魁禍?zhǔn)住@纾荒苡媚愕臄?shù)據(jù)結(jié)構(gòu)覆蓋系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu),然后再對(duì)其進(jìn)行修改。
Java的安全性,附加的安全策略控制帶碼的使用:
@jvm在一個(gè)沙盒(sandbox)中運(yùn)行不可信代碼。沙盒為jvm分配專門運(yùn)行有限特權(quán)代碼的區(qū)域。沙盒中的代碼只有很少的權(quán)限來訪問文件系統(tǒng),而且不允許進(jìn)行任何損害jvm或本地系統(tǒng)完整性的操作。例如,不可信代碼不能寫入本地文件,不能直接訪問本地代碼,不可以讀取特定的系統(tǒng)屬性。
@從不可信站點(diǎn)下載的字節(jié)碼(如未知服務(wù)器),在執(zhí)行前,必須先要進(jìn)行檢驗(yàn)。檢驗(yàn)系統(tǒng)是一個(gè)安全機(jī)制。它必須保證字節(jié)碼文件的構(gòu)造是正確的。例如,它必須核查每條指令都有一個(gè)合法操作碼。
@如果applet具有一個(gè)可識(shí)別的數(shù)字簽名密鑰,jvm也能接受applet。
Java語言的動(dòng)態(tài)性 在java語言中,根據(jù)使用的環(huán)境不同,動(dòng)態(tài)一詞有不同的解釋:
@z在運(yùn)行時(shí),jvm動(dòng)態(tài)的將程序所需的類加載進(jìn)來。只有當(dāng)類第一次被使用時(shí),jvm才將其加入。Jvm不需要將程序使用的所有類都加載進(jìn)來,也不需要在程序執(zhí)行前將所有類都準(zhǔn)備出來。
@當(dāng)同一個(gè)繼承層次支持一個(gè)以上的類調(diào)用方法時(shí),jvm使用動(dòng)態(tài)綁定來決定使用那個(gè)調(diào)用方法。
@java軟件的卡發(fā)過程也具有動(dòng)態(tài)的性質(zhì)。程序員可采用增量的方式構(gòu)建類集盒創(chuàng)建、測(cè)試程序、并用不同的方法進(jìn)行組合。
Java的歷史
1995年5月,sun公司正式發(fā)布了java編程語言。在此之前的兩個(gè)版本分別時(shí)alpha盒beta。Java平臺(tái)第一次正式發(fā)布的開發(fā)工具套件盒api叫做java開發(fā)工具(java Development Kit,JDK)。
自從1995年以來,java語言的使用者以一個(gè)客觀的速度在增長(zhǎng)。當(dāng)?shù)谝粋€(gè)java平臺(tái)推出后,許多流行的web瀏覽器廠商迅速為其瀏覽器添加了內(nèi)置的1.0jvm來支持applet。
1997年,sun公司推出了1.1版本。這個(gè)版本在java開發(fā)語言中增添了許多特性,尤其突出的時(shí),對(duì)于類集的補(bǔ)充和修改,最后形成了java api。雖有,sun又發(fā)布了該版本的javabean標(biāo)準(zhǔn)規(guī)范。幾個(gè)月之后,眾多的流行web瀏覽器開發(fā)商迅速的升級(jí)了他們內(nèi)置的jvm,以便和1.1版本兼容。
從1997~1999年的三年之間,sun公司多次升級(jí)了JDK的版本。1998年,sun將java基礎(chǔ)類java Foundation Classes,JFC)開發(fā)成了一個(gè)獨(dú)立的軟件包。它隨即被用到了JDK
1998年前期,sun公司推出了java Servlet開發(fā)工具包(Java Servlet Development Kit,JSDK)上的servlet api.。與此同時(shí),市面上迅速出現(xiàn)了支持servlet的web服務(wù)器。一些服務(wù)器,如ibm的websphere 還推出了能同時(shí)支持更早規(guī)范的web服務(wù)器。
早在1998年下半年之前,java2平臺(tái)以為人們熱切期望,并被預(yù)先稱為JDK的1.2版本。當(dāng)java2平臺(tái)推出以后,java開發(fā)工具和api被改名為java 2 SDK,標(biāo)準(zhǔn)版本。JFC被完全集成到了java 2中。Java 2 平臺(tái)在以下方面進(jìn)行了突出改善:數(shù)據(jù)庫(kù)訪問、分布式計(jì)算、與CORBA的相互性和web瀏覽器上的java 2 插件jvm。
大約1998年末,EJB的第一個(gè)標(biāo)準(zhǔn)規(guī)范完成隨之,一些企業(yè)開始采用支持EJB的EJS。
1999年6月,sun公司推出的3個(gè)版本的java 2 平臺(tái)。第一個(gè)是java 2標(biāo)準(zhǔn)版(java2 Sandard Edition, J2SE),也就是SDK。第二個(gè)版本是java2企業(yè)版(java2 Enterprise Edition,J2EE),t它涵蓋了企業(yè)級(jí)的java bean(Enterprise java bean,EJB)的內(nèi)容,并規(guī)范了web應(yīng)用程序的概念。Web應(yīng)用程序是基于web的解決方案,由java程序,html網(wǎng)頁(yè)和其他可被配置到N層的企業(yè)環(huán)境的資源構(gòu)成。 第三個(gè)版本是java微版本,主要適用于web電話、智能卡和其他便攜式電子產(chǎn)品。
1999年8月,sun公司發(fā)布了jsp1。0的標(biāo)準(zhǔn)規(guī)范和與之配套的java服務(wù)器web卡發(fā)套件,作為這項(xiàng)規(guī)范的引用實(shí)施。
posted on 2007-07-12 09:17 rick 閱讀(286) 評(píng)論(0) 編輯 收藏