點(diǎn)擊查看:2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門教程章節(jié)匯總
點(diǎn)擊查看:2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門教程第一章匯總
1.3 Java環(huán)境
你可以在各種類型的計(jì)算機(jī)上使用各種操作系統(tǒng)運(yùn)行Java程序。Java程序在PC機(jī)的Windaws 95/98/NT上運(yùn)行,與在Sun Solaris工作站上運(yùn)行的效果一樣出色。這是由于Java程序不直接在計(jì)算機(jī)上運(yùn)行,它運(yùn)行在一個(gè)標(biāo)準(zhǔn)的被稱為Java虛擬機(jī)(Java virtual machine)的假想計(jì)算機(jī)中,這種虛擬機(jī)是在你的計(jì)算機(jī)中用程序仿真的,如下圖所示。
你編寫的Java源代碼被Java編譯器轉(zhuǎn)換為由字節(jié)碼( byte codes)組成的二進(jìn)制程序。字節(jié)碼是Java虛擬機(jī)的機(jī)器指令。在你執(zhí)行Java程序時(shí),一個(gè)稱為Java解釋器(Javainterpreter)的程序?qū)z查、解釋這些字節(jié)碼,驗(yàn)證并確保它沒有被篡改,可以安全運(yùn)行。然后,在Java虛擬機(jī)內(nèi)執(zhí)行解釋的字節(jié)碼。3ava解釋器可以單獨(dú)地運(yùn)行,也可以作為Web瀏覽器的一部分運(yùn)行。比如Netscape Navigator或者M(jìn)icrasaft Internet Explorer,都可以自地調(diào)用并執(zhí)行包含在Web網(wǎng)頁中的小應(yīng)用程序。
因?yàn)镴ava程序是由字節(jié)碼組成的,而不是原始的機(jī)器指令,所以與運(yùn)行它的特定硬件完全無關(guān)。任何計(jì)算機(jī)只要實(shí)現(xiàn)Java的環(huán)境,就可以像其他計(jì)算機(jī)一樣運(yùn)行Java程序。由于Java解釋器位于程序和物理機(jī)器之間,它可以阻止執(zhí)行那些在程序中未經(jīng)認(rèn)一可的操作。在過去,所有這些靈活性和保護(hù)作用的獲得都伴隨著性能的損失,這主要反映在執(zhí)行速度上。一個(gè)被解釋的Java程序的運(yùn)行速度僅是使用內(nèi)部機(jī)器指令的相應(yīng)程序的十分之一。例如,對(duì)于那些主要不是用于計(jì)算的程序(包含在Web網(wǎng)頁中的程序就屬于這類程序),你不必很注重速度問題。如果你碰巧有一個(gè)支持程序?qū)崟r(shí)編譯("Just-In-Time" compilation)的Java環(huán)境,就不必?fù)?dān)心這些性能的損失。當(dāng)它們被加載時(shí),快速編譯器可以把你的Java程序轉(zhuǎn)換為內(nèi)部的機(jī)器指令。程序的加載時(shí)間會(huì)稍長一些,但加載成功后,就會(huì)以最高的速度運(yùn)行。
Java程序開發(fā)有很多優(yōu)秀的Java程序開發(fā)環(huán)境,包括Sun, Borland、Symanteu的產(chǎn)品。它們都提供了非常友好的環(huán)境來建立、編輯源代碼,編譯和調(diào)試源程序。價(jià)格最低的Java程序開發(fā)包無疑是免費(fèi)獲得的Sun公司的Java開發(fā)工具〔IDK ),但使用起來并不很方便。對(duì)于不同的硬件平臺(tái)和操作系統(tǒng),你可以從公司Sun Java站點(diǎn)的http:ffjava.sun.com網(wǎng)址中下載。即使你正在使用這種或者那種交互式的開發(fā)環(huán)境,我也建議你安裝JDk,它為你提供了一個(gè)優(yōu)秀的引用環(huán)境來檢查可能出現(xiàn)的問題。使用Java產(chǎn)品提供的Java版本并不一定是最新的,所以如果你在一個(gè)商業(yè)化的Java開發(fā)系統(tǒng)下運(yùn)行書中的例子出現(xiàn)了問題,就應(yīng)該用JDK試看。這個(gè)環(huán)境會(huì)使程序很好地運(yùn)行。
用運(yùn)行一個(gè)java應(yīng)用程序Java源代碼總是存儲(chǔ)在擴(kuò)展名為。java的文件中。一旦你為程序建立了源代碼,并且把它存儲(chǔ)在jawa的文件中,就需要用一個(gè)Java編譯器處理該程序。使用JDK編譯器,你可以用下述命令進(jìn)行操作:
<./HEAD>
<BODY>
需要的文字,文檔豬蹄可以包含各種HTML元素,包括<B>Java小應(yīng)用程序</a>,注意每個(gè)元素都用一對(duì)標(biāo)記標(biāo)識(shí)。下文中Java小應(yīng)用程序?qū)⒂么煮w顯示
</BODY>
</HTML>
]avaC MyPrpqram.java這里,java是Java編譯器的名稱,MyProgramjarea是程序的源文件名稱。如果你的程序沒有錯(cuò)誤,編譯器就會(huì)產(chǎn)生一個(gè)等效于源代碼的字節(jié)碼程序。它以源文件相同的名字保在<HTML>中出現(xiàn)了兩個(gè)元素,一個(gè)是<HEAD>元素,另一個(gè)是<BODY>元素。<HEAD>元素提供了有關(guān)文檔的信息。從嚴(yán)格意義上講,它并不是<HTML>元素的一部分。<HEAD>元素內(nèi)出現(xiàn)的由兩個(gè)<TTTLE>標(biāo)記所包含的文字,在瀏覽該網(wǎng)頁時(shí),將顯示在窗口的標(biāo)題上。出現(xiàn)在<BODY>元素內(nèi)的其他標(biāo)記可以包含標(biāo)題、列表、表格、到其他網(wǎng)頁的鏈接以及Java小應(yīng)用程序。因?yàn)橛行┰乇徽J(rèn)為是空的,所以不要求結(jié)尾標(biāo)記。這種類型的元素標(biāo)記有<HR>,它指出一條占據(jù)該網(wǎng)頁總寬度的水平線段。你可以使用<HR>標(biāo)記分頁,也可以用它來隔離不同類型的元素。我在前面提到過,你會(huì)在本書中找到一個(gè)HTML工標(biāo)記的綜合列表。用將一個(gè)小應(yīng)用程序添加到HTML文件中對(duì)于許多元素標(biāo)記而言,你可以在標(biāo)記開始后說明元素的屬性,用來定義有關(guān)該元素附加或限定的數(shù)據(jù)。Java小應(yīng)用程序是以<APPLET>標(biāo)記識(shí)別的。這里是一個(gè)在HTML文件中包含Java小應(yīng)用程序的例子:
<HTML>
<HEAD>
<TITLE> A Simple Program </TITLE>
</HEAD>
<BODY>
<HR>
<APPLET code =”MyfirstApplet.clase’ width = 3000; height = 200>
</APPLET>
<HR>
</BODY>
</HTML>
標(biāo)記之間的兩個(gè)陰影行標(biāo)明小應(yīng)用程序的字節(jié)碼包含在MyFirstApplet.class文件中。<APPLET>標(biāo)記中的屬性值code說明了包含小應(yīng)用程序字節(jié)碼的文件名。另兩個(gè)屬性值width和height定義了小應(yīng)用程序執(zhí)行時(shí)占據(jù)屏幕區(qū)域的寬度和高度。這些屬性是執(zhí)行小應(yīng)用程序必須定義的。正像我們將要看到的,有很多標(biāo)記可以有選擇地指定。這里是一個(gè)簡單的小應(yīng)用程序的Java源代碼:
Import java.swing.Japplet;
Import java.awt.Graphics;
Public class MyFirstApplet extends Japplet
{
Public void paint{Graphics g}
{
g.drawString{‘to climb a laoder,start at the bottom rung’,20, 30};
}
}
注意:Java對(duì)于大小寫敏感。你不能用一個(gè)大寫字母P來輸入public,否則該程序冷不會(huì)通過編譯。若運(yùn)行該小應(yīng)用程序,將會(huì)顯示一條信息。如何顯示信息并不是此時(shí)所習(xí)介紹的,我們只關(guān)心一個(gè)小應(yīng)用程序如何被嵌入到HTMZ.網(wǎng)頁中。如果你將這段代碼進(jìn)于編譯,并作為Java小應(yīng)用程序代碼存儲(chǔ)在與前面說明的HTML.網(wǎng)頁文件MyFirstApplet.htm! 同一個(gè)目錄下,你就可以利用JDK中的appletviewer運(yùn)行這段小應(yīng)用程序。其命令為:
appletV}eweY MyFirstApplet .html
其結(jié)果將顯示如下所示的窗口內(nèi)容:
這是產(chǎn)生于Windows 95/98/NT下的窗曰。在其他操作系統(tǒng)中,可能略有不同。這是因?yàn)镴ava將服從運(yùn)行平臺(tái)的風(fēng)格。由于小應(yīng)用程序窗口的高度和寬度是以像素為單位說明的,所以窗口的物理大小將取決于顯示器的分辨率和尺寸。圃在任何瀏覽器中運(yùn)行小應(yīng)用程序ITML3.2中介紹的APPLET標(biāo)記在HTML4.0中己被oBJECT標(biāo)記取代。然而,現(xiàn)在Internet Explorer還支持這個(gè)標(biāo)記,而IVetscape NaVigator則使用EMBED標(biāo)記。為了使內(nèi)容更加有趣,你不能指望客戶端瀏覽器擁有最新型的虛擬機(jī),所以與上述代碼等價(jià)的使用OBJECT標(biāo)記的代碼是:
<OBJECT
WIDTH = 3000
HELGHT = 200>
<PARAM NAMR = COBE VALUE = MyPiratApplet,class>
<PARAM NAMR = TYPE VALUE = ‘a(chǎn)pplication/x=java=applet;veraion=1.2’>
</OBJECT>
這段代碼不能在Internet Explorer 4上運(yùn)行,除非它有能找到JApplet類的虛擬機(jī)。JavaSoft發(fā)布了一個(gè)java插件產(chǎn)品,它能夠把最新型的虛擬機(jī)插入Web網(wǎng)頁瀏覽器中。使用該產(chǎn)品,可以確保小應(yīng)用程序在客戶端得到運(yùn)行,即使在支持舊版本的Java瀏覽器中也是如此。為了使用插件技術(shù)制作一個(gè)Netscape和Internet Explorer都能使用的HTML工網(wǎng)頁,你應(yīng)該使用下列代碼:
<OBJECT CLASSID = ‘clasid; 8AD9C840-044E-LID1-B3E9-00805F499D93‘
Width = 300
在這里,OBJECT標(biāo)記有CLASSID和CDDEBASE屬性,用來放置Window:平臺(tái)的Java插件。在Internet Explorer中,COMMENT標(biāo)記允許EMBED標(biāo)記在瀏覽器中被隱藏起來。
而Netscape Navigator將讀取它,并且從JavaSoft獲得一個(gè)與之匹配的Java插件。Appletviewer不支持這三個(gè)標(biāo)記。在本書的剩余部分,我們將根據(jù)需要使用APPLET標(biāo)記。正像你希望看到的,原來在APPLET標(biāo)記中的代碼,可以被大批地剪切并粘貼到上面清單中的OBJECT和EMED標(biāo)記內(nèi)。
相關(guān)推薦:
2014年9月計(jì)算機(jī)等考答案專題| 等考真題 | 答案交流
2014年9月等考成績查詢時(shí)間 | 查分免費(fèi)提醒 | 合格標(biāo)準(zhǔn)
2015計(jì)算機(jī)等考報(bào)考指南專題 | 2015等考報(bào)名時(shí)間預(yù)測(cè)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |