需要寫(xiě)代碼。

創(chuàng)新互聯(lián)建站是專業(yè)的西夏網(wǎng)站建設(shè)公司,西夏接單;提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行西夏網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
直接在布局文件中設(shè)置android等于backgoundFFFFFFFF,androidtextcolor等于00000000,把顏色提取出來(lái)形成資源放在資源文件下面,F(xiàn)F000000然后在布局文件中使用或者在java文件中通過(guò)。
您好,提問(wèn)者:
Java虛擬機(jī)簡(jiǎn)稱JVM,它的作用如下:
1、其實(shí)Java不可跨平臺(tái),真正實(shí)現(xiàn)跨平臺(tái)的是JVM虛擬機(jī)。
2、JVM其實(shí)就是一個(gè)編譯java、運(yùn)行class的一個(gè)跟操作系統(tǒng)的一個(gè)軟件。
3、JVM的作用只針對(duì)于Java,而系統(tǒng)中的東西與它無(wú)關(guān)。
4、其實(shí)說(shuō)白了就是一個(gè)軟件,就像VMware一樣。
Java虛擬機(jī)
一、什么是Java虛擬機(jī)
Java虛擬機(jī)是一個(gè)想象中的機(jī)器,在實(shí)際的計(jì)算機(jī)上通過(guò)軟件模擬來(lái)實(shí)現(xiàn)。Java虛擬機(jī)有自己想象中的硬件,如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。
為什么要使用Java虛擬機(jī)
Java語(yǔ)言的一個(gè)非常重要的特點(diǎn)就是與平臺(tái)的無(wú)關(guān)性。而使用Java虛擬機(jī)是實(shí)現(xiàn)這一特點(diǎn)的關(guān)鍵。一般的高級(jí)語(yǔ)言如果要在不同的平臺(tái)上運(yùn)行,至少需要編譯成不同的目標(biāo)代碼。而引入Java語(yǔ)言虛擬機(jī)后,Java語(yǔ)言在不同平臺(tái)上運(yùn)行時(shí)不需要重新編譯。Java語(yǔ)言使用模式Java虛擬機(jī)屏蔽了與具體平臺(tái)相關(guān)的信息,使得Java語(yǔ)言編譯程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺(tái)上不加修改地運(yùn)行。Java虛擬機(jī)在執(zhí)行字節(jié)碼時(shí),把字節(jié)碼解釋成具體平臺(tái)上的機(jī)器指令執(zhí)行。?
2.誰(shuí)需要了解Java虛擬機(jī)
Java虛擬機(jī)是Java語(yǔ)言底層實(shí)現(xiàn)的基礎(chǔ),對(duì)Java語(yǔ)言感興趣的人都應(yīng)對(duì)Java虛擬機(jī)有個(gè)大概的了解。這有助于理解Java語(yǔ)言的一些性質(zhì),也有助于使用Java語(yǔ)言。對(duì)于要在特定平臺(tái)上實(shí)現(xiàn)Java虛擬機(jī)的軟件人員,Java語(yǔ)言的編譯器作者以及要用硬件芯片實(shí)現(xiàn)Java虛擬機(jī)的人來(lái)說(shuō),則必須深刻理解Java虛擬機(jī)的規(guī)范。另外,如果你想擴(kuò)展Java語(yǔ)言,或是把其它語(yǔ)言編譯成Java語(yǔ)言的字節(jié)碼,你也需要深入地了解Java虛擬機(jī)。
3.Java虛擬機(jī)支持的數(shù)據(jù)類型
Java虛擬機(jī)支持Java語(yǔ)言的基本數(shù)據(jù)類型如下:
byte://1字節(jié)有符號(hào)整數(shù)的補(bǔ)碼
short://2字節(jié)有符號(hào)整數(shù)的補(bǔ)碼
int://4字節(jié)有符號(hào)整數(shù)的補(bǔ)碼
long://8字節(jié)有符號(hào)整數(shù)的補(bǔ)碼
float://4字節(jié)IEEE754單精度浮點(diǎn)數(shù)
double://8字節(jié)IEEE754雙精度浮點(diǎn)數(shù)
char://2字節(jié)無(wú)符號(hào)Unicode字符
幾乎所有的Java類型檢查都是在編譯時(shí)完成的。上面列出的原始數(shù)據(jù)類型的數(shù)據(jù)在Java執(zhí)行時(shí)不需要用硬件標(biāo)記。操作這些原始數(shù)據(jù)類型數(shù)據(jù)的字節(jié)碼(指令)本身就已經(jīng)指出了操作數(shù)的數(shù)據(jù)類型,例如iadd、ladd、fadd和dadd指令都是把兩個(gè)數(shù)相加,其操作數(shù)類型別是int、long、float和double。虛擬機(jī)沒(méi)有給boolean(布爾)類型設(shè)置單獨(dú)的指令。boolean型的數(shù)據(jù)是由integer指令,包括integer返回來(lái)處理的。boolean型的數(shù)組則是用byte數(shù)組來(lái)處理的。虛擬機(jī)使用IEEE754格式的浮點(diǎn)數(shù)。不支持IEEE格式的較舊的計(jì)算機(jī),在運(yùn)行Java數(shù)值計(jì)算程序時(shí),可能會(huì)非常慢。
虛擬機(jī)支持的其它數(shù)據(jù)類型包括:
object//對(duì)一個(gè)Javaobject(對(duì)象)的4字節(jié)引用
returnAddress//4字節(jié),用于jsr/ret/jsr-w/ret-w指令
注:Java數(shù)組被當(dāng)作object處理。
虛擬機(jī)的規(guī)范對(duì)于object內(nèi)部的結(jié)構(gòu)沒(méi)有任何特殊的要求。在Sun公司的實(shí)現(xiàn)中,對(duì)object的引用是一個(gè)句柄,其中包含一對(duì)指針:一個(gè)指針指向該object的方法表,另一個(gè)指向該object的數(shù)據(jù)。用Java虛擬機(jī)的字節(jié)碼表示的程序應(yīng)該遵守類型規(guī)定。Java虛擬機(jī)的實(shí)現(xiàn)應(yīng)拒絕執(zhí)行違反了類型規(guī)定的字節(jié)碼程序。Java虛擬機(jī)由于字節(jié)碼定義的限制似乎只能運(yùn)行于32位地址空間的機(jī)器上。但是可以創(chuàng)建一個(gè)Java虛擬機(jī),它自動(dòng)地把字節(jié)碼轉(zhuǎn)換成64位的形式。從Java虛擬機(jī)支持的數(shù)據(jù)類型可以看出,Java對(duì)數(shù)據(jù)類型的內(nèi)部格式進(jìn)行了嚴(yán)格規(guī)定,這樣使得各種Java虛擬機(jī)的實(shí)現(xiàn)對(duì)數(shù)據(jù)的解釋是相同的,從而保證了Java的與平臺(tái)無(wú)關(guān)性和可
移植性。
二、Java虛擬機(jī)體系結(jié)構(gòu)
Java虛擬機(jī)由五個(gè)部分組成:一組指令集、一組寄存器、一個(gè)棧、一個(gè)無(wú)用單元收集堆(Garbage-collected-heap)、一個(gè)方法區(qū)域。這五部分是Java虛擬機(jī)的邏輯成份,不依賴任何實(shí)現(xiàn)技術(shù)或組織方式,但它們的功能必須在真實(shí)機(jī)器上以某種方式實(shí)現(xiàn)。
Java指令集
Java虛擬機(jī)支持大約248個(gè)字節(jié)碼。每個(gè)字節(jié)碼執(zhí)行一種基本的CPU運(yùn)算,例如,把一個(gè)整數(shù)加到寄存器,子程序轉(zhuǎn)移等。Java指令集相當(dāng)于Java程序的匯編語(yǔ)言。?
Java指令集中的指令包含一個(gè)單字節(jié)的操作符,用于指定要執(zhí)行的操作,還有0個(gè)或多個(gè)操作數(shù),提供操作所需的參數(shù)或數(shù)據(jù)。許多指令沒(méi)有操作數(shù),僅由一個(gè)單字節(jié)的操作符構(gòu)成。
虛擬機(jī)的內(nèi)層循環(huán)的執(zhí)行過(guò)程如下:
do{
取一個(gè)操作符字節(jié);
根據(jù)操作符的值執(zhí)行一個(gè)動(dòng)作;
}while(程序未結(jié)束)
由于指令系統(tǒng)的簡(jiǎn)單性,使得虛擬機(jī)執(zhí)行的過(guò)程十分簡(jiǎn)單,從而有利于提高執(zhí)行的效率。指令中操作數(shù)的數(shù)量和大小是由操作符決定的。如果操作數(shù)比一個(gè)字節(jié)大,那么它存儲(chǔ)的順序是高位字節(jié)優(yōu)先。例如,一個(gè)16位的參數(shù)存放時(shí)占用兩個(gè)字節(jié),其值為:
第一個(gè)字節(jié)*256+第二個(gè)字節(jié)字節(jié)碼指令流一般只是字節(jié)對(duì)齊的。指令tabltch和lookup是例外,在這兩條指令內(nèi)部要求強(qiáng)制的4字節(jié)邊界對(duì)齊。
2.寄存器
Java虛擬機(jī)的寄存器用于保存機(jī)器的運(yùn)行狀態(tài),與微處理器中的某些專用寄存器類似。
Java虛擬機(jī)的寄存器有四種:
pc:Java程序計(jì)數(shù)器。
optop:指向操作數(shù)棧頂端的指針。
frame:指向當(dāng)前執(zhí)行方法的執(zhí)行環(huán)境的指針。
vars:指向當(dāng)前執(zhí)行方法的局部變量區(qū)第一個(gè)變量的指針。
Java虛擬機(jī)
Java虛擬機(jī)是棧式的,它不定義或使用寄存器來(lái)傳遞或接受參數(shù),其目的是為了保證指令集的簡(jiǎn)潔性和實(shí)現(xiàn)時(shí)的高效性(特別是對(duì)于寄存器數(shù)目不多的處理器)。
所有寄存器都是32位的。
3.棧
Java虛擬機(jī)的棧有三個(gè)區(qū)域:局部變量區(qū)、運(yùn)行環(huán)境區(qū)、操作數(shù)區(qū)。
(1)局部變量區(qū) 每個(gè)Java方法使用一個(gè)固定大小的局部變量集。它們按照與vars寄存器的字偏移量來(lái)尋址。局部變量都是32位的。長(zhǎng)整數(shù)和雙精度浮點(diǎn)數(shù)占據(jù)了兩個(gè)局部變量的空間,卻按照第一個(gè)局部變量的索引來(lái)尋址。(例如,一個(gè)具有索引n的局部變量,如果是一個(gè)雙精度浮點(diǎn)數(shù),那么它實(shí)際占據(jù)了索引n和n+1所代表的存儲(chǔ)空間。)虛擬機(jī)規(guī)范并不要求在局部變量中的64位的值是64位對(duì)齊的。虛擬機(jī)提供了把局部變量中的值裝載到操作數(shù)棧的指令,也提供了把操作數(shù)棧中的值寫(xiě)入局部變量的指令。
(2)運(yùn)行環(huán)境區(qū) 在運(yùn)行環(huán)境中包含的信息用于動(dòng)態(tài)鏈接,正常的方法返回以及異常傳播。
·動(dòng)態(tài)鏈接
運(yùn)行環(huán)境包括對(duì)指向當(dāng)前類和當(dāng)前方法的解釋器符號(hào)表的指針,用于支持方法代碼的動(dòng)態(tài)鏈接。方法的class文件代碼在引用要調(diào)用的方法和要訪問(wèn)的變量時(shí)使用符號(hào)。動(dòng)態(tài)鏈接把符號(hào)形式的方法調(diào)用翻譯成實(shí)際方法調(diào)用,裝載必要的類以解釋還沒(méi)有定義的符號(hào),并把變量訪問(wèn)翻譯成與這些變量運(yùn)行時(shí)的存儲(chǔ)結(jié)構(gòu)相應(yīng)的偏移地址。動(dòng)態(tài)鏈接方法和變量使得方法中使用的其它類的變化不會(huì)影響到本程序的代碼。
·正常的方法返回
如果當(dāng)前方法正常地結(jié)束了,在執(zhí)行了一條具有正確類型的返回指令時(shí),調(diào)用的方法會(huì)得到一個(gè)返回值。執(zhí)行環(huán)境在正常返回的情況下用于恢復(fù)調(diào)用者的寄存器,并把調(diào)用者的程序計(jì)數(shù)器增加一個(gè)恰當(dāng)?shù)臄?shù)值,以跳過(guò)已執(zhí)行過(guò)的方法調(diào)用指令,然后在調(diào)用者的執(zhí)行環(huán)境中繼續(xù)執(zhí)行下去。
·異常和錯(cuò)誤傳播
異常情況在Java中被稱作Error(錯(cuò)誤)或Exception(異常),是Throwable類的子類,在程序中的原因是:①動(dòng)態(tài)鏈接錯(cuò),如無(wú)法找到所需的class文件。②運(yùn)行時(shí)錯(cuò),如對(duì)一個(gè)空指針的引用
·程序使用了throw語(yǔ)句。
當(dāng)異常發(fā)生時(shí),Java虛擬機(jī)采取如下措施:
·檢查與當(dāng)前方法相聯(lián)系的catch子句表。每個(gè)catch子句包含其有效指令范圍,能夠處理的異常類型,以及處理異常的代碼塊地址。
·與異常相匹配的catch子句應(yīng)該符合下面的條件:造成異常的指令在其指令范圍之內(nèi),發(fā)生的異常類型是其能處理的異常類型的子類型。如果找到了匹配的catch子句,那么系統(tǒng)轉(zhuǎn)移到指定的異常處理塊處執(zhí)行;如果沒(méi)有找到異常處理塊,重復(fù)尋找匹配的catch子句的過(guò)程,直到當(dāng)前方法的所有嵌套的catch子句都被檢查過(guò)。
·由于虛擬機(jī)從第一個(gè)匹配的catch子句處繼續(xù)執(zhí)行,所以catch子句表中的順序是很重要的。因?yàn)镴ava代碼是結(jié)構(gòu)化的,因此總可以把某個(gè)方法的所有的異常處理器都按序排列到一個(gè)表中,對(duì)任意可能的程序計(jì)數(shù)器的值,都可以用線性的順序找到合適的異常處理塊,以處理在該程序計(jì)數(shù)器值下發(fā)生的異常情況。
·如果找不到匹配的catch子句,那么當(dāng)前方法得到一個(gè)"未截獲異常"的結(jié)果并返回到當(dāng)前方法的調(diào)用者,好像異常剛剛在其調(diào)用者中發(fā)生一樣。如果在調(diào)用者中仍然沒(méi)有找到相應(yīng)的異常處理塊,那么這種錯(cuò)誤傳播將被繼續(xù)下去。如果錯(cuò)誤被傳播到最頂層,那么系統(tǒng)將調(diào)用一個(gè)缺省的異常處理塊。
(3)操作數(shù)棧區(qū) 機(jī)器指令只從操作數(shù)棧中取操作數(shù),對(duì)它們進(jìn)行操作,并把結(jié)果返回到棧中。選擇棧結(jié)構(gòu)的原因是:在只有少量寄存器或非通用寄存器的機(jī)器(如Intel486)上,也能夠高效地模擬虛擬機(jī)的行為。操作數(shù)棧是32位的。它用于給方法傳遞參數(shù),并從方法接收結(jié)果,也用于支持操作的參數(shù),并保存操作的結(jié)果。例如,iadd指令將兩個(gè)整數(shù)相加。相加的兩個(gè)整數(shù)應(yīng)該是操作數(shù)棧頂?shù)膬蓚€(gè)字。這兩個(gè)字是由先前的指令壓進(jìn)堆棧的。這兩個(gè)整數(shù)將從堆棧彈出、相加,并把結(jié)果壓回到操作數(shù)棧中。
每個(gè)原始數(shù)據(jù)類型都有專門(mén)的指令對(duì)它們進(jìn)行必須的操作。每個(gè)操作數(shù)在棧中需要一個(gè)存儲(chǔ)位置,除了long和double型,它們需要兩個(gè)位置。操作數(shù)只能被適用于其類型的操作符所操作。例如,壓入兩個(gè)int類型的數(shù),如果把它們當(dāng)作是一個(gè)long類型的數(shù)則是非法的。在Sun的虛擬機(jī)實(shí)現(xiàn)中,這個(gè)限制由字節(jié)碼驗(yàn)證器強(qiáng)制實(shí)行。但是,有少數(shù)操作(操作符dupe和swap),用于對(duì)運(yùn)行時(shí)數(shù)據(jù)區(qū)進(jìn)行操作時(shí)是不考慮類型的。
4.無(wú)用單元收集堆
Java的堆是一個(gè)運(yùn)行時(shí)數(shù)據(jù)區(qū),類的實(shí)例(對(duì)象)從中分配空間。Java語(yǔ)言具有無(wú)用單元收集能力:它不給程序員顯式釋放對(duì)象的能力。Java不規(guī)定具體使用的無(wú)用單元收集算法,可以根據(jù)系統(tǒng)的需求使用各種各樣的算法。
5.方法區(qū)
方法區(qū)與傳統(tǒng)語(yǔ)言中的編譯后代碼或是Unix進(jìn)程中的正文段類似。它保存方法代碼(編譯后的java代碼)和符號(hào)表。在當(dāng)前的Java實(shí)現(xiàn)中,方法代碼不包括在無(wú)用單元收集堆中,但計(jì)劃在將來(lái)的版本中實(shí)現(xiàn)。每個(gè)類文件包含了一個(gè)Java類或一個(gè)Java界面的編譯后的代碼。可以說(shuō)類文件是Java語(yǔ)言的執(zhí)行代碼文件。為了保證類文件的平臺(tái)無(wú)關(guān)性,Java虛擬機(jī)規(guī)范中對(duì)類文件的格式也作了詳細(xì)的說(shuō)明。其具體細(xì)節(jié)請(qǐng)參考Sun公司的Java虛擬機(jī)規(guī)范。
什么是Java
人們已經(jīng)習(xí)慣用Java這個(gè)術(shù)語(yǔ)來(lái)涵蓋各種Java技術(shù)。Java技術(shù)包括Java編程語(yǔ)言、支持類庫(kù)以及Java虛擬機(jī)(Java Virtual Machine,JVM)。
Java技術(shù)利用Java模型實(shí)現(xiàn)了Java程序的運(yùn)行。典型的Java模型將利用若干層(也叫底層,substrate)。Java程序被一個(gè)叫做Java虛擬機(jī)的底層從硬件中隔離出來(lái)。圖1.1顯示了一個(gè)Java模型。
圖1.1 Java模型
Java盛行的原因很多。首先,Java是一門(mén)多平臺(tái)語(yǔ)言。Java多平臺(tái)功能的關(guān)鍵元素是peer方法,如圖1.1所示。peer方法提供了一個(gè)應(yīng)用程序接口(Application Program Interface,API)。
該接口的目標(biāo)就是提供一個(gè)從高級(jí)Java應(yīng)用程序接口到初級(jí)操作系統(tǒng)子程序的映射。peer方法提供了一種實(shí)現(xiàn)可移植操作系統(tǒng)接口的方法。
操作系統(tǒng)軟件接口庫(kù)提供了一個(gè)ANSI C、C++或FORTRAN都沒(méi)有的編程環(huán)境。這種環(huán)境為程序提供外觀和運(yùn)行方式。例如,C++程序員在Windows下編程,編程環(huán)境就像是一個(gè)Windows編程環(huán)境。也就是說(shuō),可能會(huì)調(diào)用Microsoft基礎(chǔ)類。如果在UNIX下編程,編程環(huán)境就像一個(gè)UNIX環(huán)境,即要調(diào)用X-Window庫(kù)子程序。
Java的獨(dú)特之處是它能夠提供一個(gè)可移植的操作系統(tǒng)軟件接口。例如,不管使用哪種操作系統(tǒng),用Java編寫(xiě)一個(gè)顯示對(duì)話框的程序都是相同的。但是,Java的可移植功能也會(huì)受到庫(kù)的跨平臺(tái)支持的限制。在這種情況下,使用非可移植庫(kù)的Java程序?qū)⒉辉偈强梢浦驳牧恕@纾腥嗽贘ava內(nèi)創(chuàng)建了到C庫(kù)子程序的鏈接。由于要使Java成為可移植的,其他平臺(tái)上必須提供這些子程序。
把Java臆想成一門(mén)“編譯一次,走遍天下”式的語(yǔ)言是錯(cuò)誤的。Java在每個(gè)平臺(tái)上都需要測(cè)試,有時(shí)還需要調(diào)試。因?yàn)樵谝粋€(gè)平臺(tái)上運(yùn)行良好的程序在另一個(gè)平臺(tái)上卻不能運(yùn)行,這種情況很常見(jiàn)。
此外,Java以外的語(yǔ)言也可以利用Java技術(shù)。例如,要實(shí)現(xiàn)一個(gè)非Java編譯器來(lái)創(chuàng)建可在Java虛擬機(jī)(JVM)上運(yùn)行的Java字節(jié)碼是有可能的。
1.3 Java模型與HTML模型的比較
我們已經(jīng)知道Java是為嵌入式系統(tǒng)而設(shè)計(jì)的一門(mén)語(yǔ)言。但是,Java過(guò)去并沒(méi)有廣泛用于嵌入式系統(tǒng)。相反,人們認(rèn)為可以用Java來(lái)補(bǔ)充甚至替代HTML模型。本節(jié)將講述HTML模型以及Java怎樣替代HTML模型。
我們可以在Internet上找到很多文件。數(shù)據(jù)結(jié)構(gòu)保存在文件中并需要解碼。可被生成的不同數(shù)據(jù)文件的數(shù)量是不受限制的。盡管文件格式的數(shù)量是可計(jì)算的,但通常誰(shuí)都沒(méi)有計(jì)算,并且該數(shù)字將以未知的速度增長(zhǎng)。用于計(jì)算不同文件格式數(shù)量的工具很少,而用來(lái)解碼這些文件格式的工具就更少了。
圖1.2講述了數(shù)據(jù)分布的Web模型。Web服務(wù)器通過(guò)超文本文件傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)把Web頁(yè)面?zhèn)鹘o客戶端。
瀏覽器使用包含特定格式代碼的插件程序(plug-ins)來(lái)進(jìn)行解碼。不同的文件格式要求用不同的插件程序或輔助程序來(lái)顯示。所以,插件程序擴(kuò)展了瀏覽器的性能。
使用Java技術(shù)的瀏覽器通過(guò)動(dòng)態(tài)下載的算法能夠進(jìn)行解碼。這一過(guò)程要求一種能夠即時(shí)運(yùn)行程序的方法。為了明確安全性,Java給即時(shí)下載的程序設(shè)置了功能限制。安全管理器(security manager)對(duì)即時(shí)下載的Java程序的功能進(jìn)行了準(zhǔn)確控制。
用Java模型代替HTML模型的基本前提是,程序可以在不同的平臺(tái)上按要求運(yùn)行。但是,由于Java缺乏統(tǒng)一的支持,所以Java模型沒(méi)能代替HTML模型。當(dāng)前的不利因素包括人們對(duì)Java技術(shù)及知識(shí)產(chǎn)權(quán)的爭(zhēng)論。
圖1.2 Internet
1.4 小結(jié)
與C或C++不同,當(dāng)用Java編程的時(shí)候,編程環(huán)境感覺(jué)像Java。另外,C++沒(méi)有Java所具備的可移植應(yīng)用編程接口(API)。如果在Windows中用C++編程,編程環(huán)境就像Windows,因此必須學(xué)習(xí)Windows API。同樣,如果在Macintosh下用C++編程,編程環(huán)境就會(huì)有一種類似Maxintosh接口的外觀和運(yùn)行方式。
基于上述的討論,有人認(rèn)為客戶端的Java是一成不變的,HTML模型的變革也不可能發(fā)生。然而,僅在2001年3月到8月短短5個(gè)月的時(shí)間內(nèi),600多萬(wàn)部用Java開(kāi)發(fā)的手機(jī)在日本被搶購(gòu)一空。無(wú)線供應(yīng)商(NTT DoCoMo、J-Phone和KDDI)已提供了交互式服務(wù)。有人預(yù)計(jì),在2001年到2005年期間,有7億多臺(tái)Java虛擬機(jī)將要被配置到這些新設(shè)備上。或許,這些具有JVM特性的新平臺(tái)會(huì)使客戶端Java能夠長(zhǎng)久地延續(xù)下去。
有個(gè)相對(duì)來(lái)說(shuō)簡(jiǎn)單的辦法:在搜索里搜索以下幾個(gè)文件名或文件夾名
1、Java是個(gè)文件夾
2、java.inf在inf文件夾下
3、jview.exe和wjvi.exe,在System32文件夾下
實(shí)在還想進(jìn)一步確定,則可以在運(yùn)行中輸入以下命令:RunDll32
advlack.dll,
launchINFSectionjava.inf,Uninstall回車后如出現(xiàn)“Microsoft
VM
uninstall”的對(duì)話框,則說(shuō)明你的系統(tǒng)中千真萬(wàn)確有java了,當(dāng)然,此時(shí)點(diǎn)確定即可刪除微軟的java了。
所謂的Java虛擬機(jī)最直觀的理解就是Java的執(zhí)行環(huán)境
比方說(shuō)就像你用軟件要在windows下執(zhí)行一樣,Java虛擬機(jī)就是為運(yùn)行Java提供了個(gè)平臺(tái),僅此而已
但手機(jī)中的應(yīng)用就不像在電腦中的那么容易了,因?yàn)槭謾C(jī)的環(huán)境畢竟比較簡(jiǎn)單,要想提供完整的Java支持是需要成本的,而且必須是全部正版,所以價(jià)錢(qián)是很高的,就像如果你要用某正版軟件的完全版或?qū)<野妫群?jiǎn)單版貴很多,只不過(guò)我們盜版軟件用多了就感覺(jué)不出來(lái)了而已,還有你說(shuō)的Java虛擬機(jī)應(yīng)該是在電腦中用的,和手機(jī)中的不是一回事
比如說(shuō),電腦中執(zhí)行的是j2ee,j2se,而手機(jī)中執(zhí)行的是j2me一樣,是不一樣的 ,所以即使你在手機(jī)中下載了Java虛擬機(jī)也是不能運(yùn)行手機(jī)qq的。
標(biāo)題名稱:java虛擬手機(jī)代碼 Java虛擬機(jī)源碼
本文地址:http://www.chinadenli.net/article20/dooeejo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站排名、定制開(kāi)發(fā)、外貿(mào)建站、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)