當前位置:首頁 » 安卓系統 » 安卓虛擬設備縮寫是什麼

安卓虛擬設備縮寫是什麼

發布時間: 2022-08-19 06:39:22

❶ 什麼是虛擬機

虛擬機(Virtual Machine)指通過軟體模擬的具有完整硬體系統功能的、運行在一個完全隔離環境中的完整計算機系統。

一、基本概念
一般意義的虛擬機:
通過虛擬機軟體,你可以在一台物理計算機上模擬出一台或多台虛擬的計算機,這些虛擬機完全就像真正的計算機那樣進行工作,例如你可以安裝操作系統、安裝應用程序、訪問網路資源等等。對於你而言,它只是運行在你物理計算機上的一個應用程序,但是對於在虛擬機中運行的應用程序而言,它就像是在真正的計算機中進行工作。因此,當我在虛擬機中進行軟體評測時,可能系統一樣會崩潰,但是,崩潰的只是虛擬機上的操作系統,而不是物理計算機上的操作系統,並且,使用虛擬機的「Undo」(恢復)功能,我可以馬上恢復虛擬機到安裝軟體之前的狀態。
[編輯本段]二、主流虛擬機
目前流行的虛擬機軟體有VMware(VMWare ACE)和Virtual PC,它們都能在Windows系統上虛擬出多個計算機,用於安裝linux、OS/2、FreeBSD等其他操作系統。微軟在2003年2月份收購Connectix後,很快發布了Microsoft Virtual PC 2004。但出於種種考慮,新發布的Virtual PC 2004已不再明確支持Linux、FreeBSD、NetWare、Solaris等操作系統,只保留了OS/2,如果要虛擬一台Linux計算機,只能自己手工設置。相比而言,VMware不論是在多操作系統的支持上,還是在執行效率上,都比Virtual PC 2004明顯高出一籌。 電腦一台變兩台,學用Linux不再有後顧之憂。
二代虛擬機又名章魚機,相對傳統虛擬主機,具有抗攻擊、抗硬體損壞、抗數據中心事故能力。是傳統虛擬主機的一種概念性變革,屬於虛擬主機的升級系統。因其具有取近訪問及快速響應的特點。整個系統切換有一套嚴密規則,自動在運行中匹配完成。」俗稱集群空間,它是通過在現有的Internet中增加一層新的網路架構,是CDN,智能域名解析,負載均衡系統等多種網路新技術結合體的產物。給傳統虛擬主機帶來概念性的變革,是目前世界最新獨創,穩定性最高的虛擬主機。為用戶提供高性能、高價格比的虛擬主機技術,幫助用戶用最小的投資使自己經營的網站擁有大型網站才能享受的運行技術,二代概念的虛擬主機系統,是將系統上運行的空間都採用大站的運行標准,讓所有的中小網站都能享有大網站的待遇,不管在何時何地訪問都是正常快速的,真正實現小網站有大作為。
[編輯本段]三、虛擬化分類
微軟虛擬化
IBM虛擬化
HP虛擬化
SWsoft虛擬化
SUN虛擬化
Intel虛擬化
AMD虛擬化
java虛擬機
VMware 4.5有Workstation、GSX server等多種版本,其中Windows版的Workstation應用最廣,本文即以它為基礎進行各種實戰演習。
虛擬機的概念比較寬泛,通常人們接觸到的虛擬機概念有VMware那樣的硬體模擬軟體,也有JVM這樣的介於硬體和編譯程序之間的軟體。這里所指的是後者。
虛擬機是一個抽象的計算機,和實際的計算機一樣,具有一個指令集並使用不同的存儲區域。它負責執行指令,還要管理數據、內存和寄存器。這台虛擬的機器在任何平台上都提供給編譯程序一個的共同的介面。編譯程序只需要面向虛擬機,生成虛擬機能夠理解的代碼,然後由解釋器來將虛擬機代碼轉換為特定系統的機器碼執行。
Sun xVM VirtualBox又發新版本:2.1.0。
2.1.0不像此前2.0.X一樣主要是修正Bug和完善原有功能,這個版本增加了許多新特性。強烈建議VBox的用戶們更新!
在官方網站的ChangeLog上,我們可以看到這個版本的主要更新信息:
* 支持Max OS X客戶機的硬體虛擬化技術(VT-x和AMD-V);
* 支持在32位操作系統上模擬64位客戶機!(實驗性質,具體看用戶手冊);
* 支持Intel Nehalem虛擬化增強技術(EPT和VPID,具體看用戶手冊);
* 通過OpenGL支持3D加速!(看用戶手冊4.8章);
還有很多更新,但是光是以上四樣就有足夠地理由讓用戶去升級了!
VirtualBox終於支持了通過OpenGL實驗的的3D加速,並且率先支持了在32位的操作系統上模擬64位的客戶機(需要64位CPU支持)。這意味著虛擬機平台的限制更少了,你可以在你的x86平台上模擬AMD64!
針對「OpenGL 3D加速」這一項,我了解到,這項特性目前只在Windows系統上可用,並且只能實現OpenGL加速,而沒有Direct3D加速。這意味著,你已經可以在Windows虛擬機運行一些OpenGL的3D應用,而Direct3D就要稍微等等了。
還等什麼呢,這是一個進步相當大的版本。趕緊下載試用吧:
[編輯本段]四、為什麼使用虛擬機
1. 演示環境,可以安裝各種演示環境,便於做各種例子;
2. 保證主機的快速運行,減少不必要的垃圾安裝程序,偶爾使用的程序,或者測試用的程序在虛擬機上運行;
3. 避免每次重新安裝,銀行等常用工具,不經常使用,而且要求保密比較好的,單獨在一個環境下面運行;
4. 想測試一下不熟悉的應用,在虛擬機中隨便安裝和徹底刪除;
5. 體驗不同版本的操作系統,如Linux、Mac等。
終端虛擬化由於其帶來的維護費用的大幅降低而受到追捧——如能降低佔用空間,降低購買軟硬體設備的成本,節省能源和更低的維護成本。它比實際存在的終端設備更加具備性價比優勢。但這些並非是教育行業和廠商對虛擬化技術情有獨鍾的惟一原因。另一方面,我們一般較少提及,那就是:虛擬化技術能大幅提升系統的安全性。
[編輯本段]五、VMware虛擬機安裝過程
VMware Workstation虛擬機是一個在Windows或Linux計算機上運行的應用程序,它可以模擬一個基於x86的標准PC環境。這個環境和真實的計算機一樣,都有晶元組、CPU、內存、顯卡、音效卡、網卡、軟碟機、硬碟、光碟機、串口、並口、USB控制器、SCSI控制器等設備,提供這個應用程序的窗口就是虛擬機的顯示器。
在使用上,這台虛擬機和真正的物理主機沒有太大的區別,都需要分區、格式化、安裝操作系統、安裝應用程序和軟體,總之,一切操作都跟一台真正的計算機一樣。
下面通過例子,介紹使用VMware Workstation創建虛擬機的方法與步驟。
1.運行VMware Workstation 6,單擊「File→New→Virtual Machine」命令,進入創建虛擬機向導,或者直接按「Crtl+N」快捷鍵同樣進入創建虛擬機向導。
2.在彈出的歡迎頁中單擊「下一步」按鈕。
3.在「Virtual machine configuration」選項區域內選擇「Custom」單選按鈕。
4.在Choose the Virtual Machine Hardware Compatibility頁中,選擇虛擬機的硬體格式,可以在Hardware compatibility下拉列表框中,在VMware Workstation 6、VMware Workstation 5或VMware Workstation 4三者之間進行選擇。通常情況下選擇Workstation 6的格式,因為新的虛擬機硬體格式支持更多的功能,選擇好後單擊「下一步」按鈕。
5.在Select a Guest Operating System對話框中,選擇要創建虛擬機類型及要運行的操作系統,這里選擇Windows 2000 Professional操作系統,單擊「下一步」按鈕。
6.在Name the Virtual Machine對話框中,為新建的虛擬機命名並且選擇它的保存路徑。
7.在Processors選項區域中選擇虛擬機中CPU的數量,如果選擇Two,主機需要有兩個CPU或者是超線程的CPU。
8.在Memory for the Virtual Machine頁中,設置虛擬機使用的內存,通常情況下,對於Windows 98及其以下的系統,可以設置64MB;對於Windows 2000/XP,最少可以設置96MB;對於Windows 2003,最低為128MB;對於Windows Vista虛擬機,最低512MB。
9.在Network Type頁中選擇虛擬機網卡的「聯網類型」
選擇第一項,使用橋接網卡(VMnet0虛擬網卡),表示當前虛擬機與主機(指運行VMware Workstation軟體的計算機)在同一個網路中。
選擇第二項,使用NAT網卡(VMnet8虛擬網卡),表示虛擬機通過主機單向訪問主機及主機之外的網路,主機之外的網路中的計算機,不能訪問該虛擬機。
選擇第三項,只使用本地網路(VMnet1虛擬網卡),表示虛擬機只能訪問主機及所有使用VMnet1虛擬網卡的虛擬機。主機之外的網路中的計算機不能訪問該虛擬機,也不能被該虛擬機所訪問。
選擇第四項,沒有網路連接,表明該虛擬機與主機沒有網路連接。
10.在Select I/O Adapter Type頁中,選擇虛擬機的SCSI卡的型號,通常選擇默認值即可。
11.在Select a Disk頁中,選擇Create a new virtual disk(創建一個新的虛擬硬碟)。
12.在Select a Disk Type頁中,選擇創建的虛擬硬碟的介面方式,通常選擇默認值即可。
13.在Specify Disk Capacity頁中設置虛擬磁碟大小,對於一般的使用來說,選擇默認值即可。
14.在Specify Disk File頁的Disk file選項區域內設置虛擬磁碟文件名稱,通常選擇默認值即可,然後單擊完成按鈕。
安裝操作系統
在虛擬機中安裝操作系統,和在真實的計算機中安裝沒有什麼區別,但在虛擬機中安裝操作系統,可以直接使用保存在主機上的安裝光碟鏡像(或者軟盤鏡像)作為虛擬機的光碟機(或者軟碟機)。
可以用打開前文創建的Windows 2000虛擬機配置文件,在Virtual Machine Settings頁中的Hardware選項卡中,選擇CD-ROM項,在Connection選項區域內選中Use ISO image單選按鈕,然後瀏覽選擇Windows 2000安裝光碟鏡像文件(ISO格式)。如果使用安裝光碟,則選擇Use physical drive並選擇安裝光碟所在光碟機。
選擇光碟機完成後,然後單擊工具欄上的播放按鈕,打開虛擬機的電源,用滑鼠在虛擬機工作窗口中單擊一下,進入虛擬機。
【說明】如果想從虛擬機窗口中切換回主機,需要按下Ctrl+Alt熱鍵。
安裝VMware Tools
在虛擬機中安裝完操作系統之後,接下來需要安裝VMware Tools。VMware Tools相當於VMware虛擬機的主板晶元組驅動和顯卡驅動、滑鼠驅動,在安裝VMware Tools後,可以極大提高虛擬機的性能,並且可以讓虛擬機解析度以任意大小進行設置,還可以使用滑鼠直接從虛擬機窗口中切換到主機中為。
1.從VM菜單下選擇安裝VMware Tools。
2.按照提示安裝,最後重新啟動虛擬機即可。
[編輯本段]六、Java虛擬機

1、什麼是Java虛擬機

Java虛擬機(JVM)是Java Virtual Machine的縮寫,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能模擬來實現的。Java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。

2.為什麼要使用Java虛擬機

Java語言的一個非常重要的特點就是與平台的無關性。而使用Java虛擬機是實現這一特點的關鍵。一般的高級語言如果要在不同的平台上運行,至少需要編譯成不同的目標代碼。而引入Java語言虛擬機後,Java語言在不同平台上運行時不需要重新編譯。Java語言使用模式Java虛擬機屏蔽了與具體平台相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(位元組碼),就可以在多種平台上不加修改地運行。Java虛擬機在執行位元組碼時,把位元組碼解釋成具體平台上的機器指令執行。

3.誰需要了解Java虛擬機

Java虛擬機是Java語言底層實現的基礎,對Java語言感興趣的人都應對Java虛擬機有個大概的了解。這有助於理解Java語言的一些性質,也有助於使用Java語言。對於要在特定平台上實現Java虛擬機的軟體人員,Java語言的編譯器作者以及要用硬體晶元實現Java虛擬機的人來說,則必須深刻理解Java虛擬機的規范。另外,如果你想擴展Java語言,或是把其它語言編譯成Java語言的位元組碼,你也需要深入地了解Java虛擬機。

4.Java虛擬機支持的數據類型

Java虛擬機支持Java語言的基本數據類型如下:
byte://1位元組有符號整數的補碼
short://2位元組有符號整數的補碼
int://4位元組有符號整數的補碼
long://8位元組有符號整數的補碼
float://4位元組IEEE754單精度浮點數
double://8位元組IEEE754雙精度浮點數
char://2位元組無符號Unicode字元
幾乎所有的Java類型檢查都是在編譯時完成的。上面列出的原始數據類型的數據在Java執行時不需要用硬體標記。操作這些原始數據類型數據的位元組碼(指令)本身就已經指出了操作數的數據類型,例如iadd、ladd、fadd和dadd指令都是把兩個數相加,其操作數類型別是int、long、float和double。虛擬機沒有給boolean(布爾)類型設置單獨的指令。boolean型的數據是由integer指令,包括integer返回來處理的。boolean型的數組則是用byte數組來處理的。虛擬機使用IEEE754格式的浮點數。不支持IEEE格式的較舊的計算機,在運行Java數值計算程序時,可能會非常慢。
虛擬機支持的其它數據類型包括:
object//對一個Javaobject(對象)的4位元組引用
returnAddress//4位元組,用於jsr/ret/jsr-w/ret-w指令
注:Java數組被當作object處理。
虛擬機的規范對於object內部的結構沒有任何特殊的要求。在Sun公司的實現中,對object的引用是一個句柄,其中包含一對指針:一個指針指向該object的方法表,另一個指向該object的數據。用Java虛擬機的位元組碼表示的程序應該遵守類型規定。Java虛擬機的實現應拒絕執行違反了類型規定的位元組碼程序。Java虛擬機由於位元組碼定義的限制似乎只能運行於32位地址空間的機器上。但是可以創建一個Java虛擬機,它自動地把位元組碼轉換成64位的形式。從Java虛擬機支持的數據類型可以看出,Java對數據類型的內部格式進行了嚴格規定,這樣使得各種Java虛擬機的實現對數據的解釋是相同的,從而保證了Java的與平台無關性和可
移植性。

5、Java虛擬機體系結構

Java虛擬機由五個部分組成:一組指令集、一組寄存器、一個棧、一個無用單元收集堆(Garbage-collected-heap)、一個方法區域。這五部分是Java虛擬機的邏輯成份,不依賴任何實現技術或組織方式,但它們的功能必須在真實機器上以某種方式實現。
1.Java指令集
Java虛擬機支持大約248個位元組碼。每個位元組碼執行一種基本的CPU運算,例如,把一個整數加到寄存器,子程序轉移等。Java指令集相當於Java程序的匯編語言。
Java指令集中的指令包含一個單位元組的操作符,用於指定要執行的操作,還有0個或多個操作數,提供操作所需的參數或數據。許多指令沒有操作數,僅由一個單位元組的操作符構成。
虛擬機的內層循環的執行過程如下:
do{
取一個操作符位元組;
根據操作符的值執行一個動作;
}while(程序未結束)
由於指令系統的簡單性,使得虛擬機執行的過程十分簡單,從而有利於提高執行的效率。指令中操作數的數量和大小是由操作符決定的。如果操作數比一個位元組大,那麼它存儲的順序是高位位元組優先。例如,一個16位的參數存放時佔用兩個位元組,其值為:
第一個位元組*256+第二個位元組位元組碼指令流一般只是位元組對齊的。指令tabltch和lookup是例外,在這兩條指令內部要求強制的4位元組邊界對齊。
2.寄存器
Java虛擬機的寄存器用於保存機器的運行狀態,與微處理器中的某些專用寄存器類似。
Java虛擬機的寄存器有四種:
pc:Java程序計數器。
optop:指向操作數棧頂端的指針。
frame:指向當前執行方法的執行環境的指針。
vars:指向當前執行方法的局部變數區第一個變數的指針。
Java虛擬機
Java虛擬機是棧式的,它不定義或使用寄存器來傳遞或接受參數,其目的是為了保證指令集的簡潔性和實現時的高效性(特別是對於寄存器數目不多的處理器)。
所有寄存器都是32位的。
3.棧
Java虛擬機的棧有三個區域:局部變數區、運行環境區、操作數區。
(1)局部變數區
每個Java方法使用一個固定大小的局部變數集。它們按照與vars寄存器的字偏移量來定址。局部變數都是32位的。長整數和雙精度浮點數占據了兩個局部變數的空間,卻按照第一個局部變數的索引來定址。(例如,一個具有索引n的局部變數,如果是一個雙精度浮點數,那麼它實際占據了索引n和n+1所代表的存儲空間。)虛擬機規范並不要求在局部變數中的64位的值是64位對齊的。虛擬機提供了把局部變數中的值裝載到操作數棧的指令,也提供了把操作數棧中的值寫入局部變數的指令。
(2)運行環境區
在運行環境中包含的信息用於動態鏈接,正常的方法返回以及異常傳播。
·動態鏈接
運行環境包括對指向當前類和當前方法的解釋器符號表的指針,用於支持方法代碼的動態鏈接。方法的class文件代碼在引用要調用的方法和要訪問的變數時使用符號。動態鏈接把符號形式的方法調用翻譯成實際方法調用,裝載必要的類以解釋還沒有定義的符號,並把變數訪問翻譯成與這些變數運行時的存儲結構相應的偏移地址。動態鏈接方法和變數使得方法中使用的其它類的變化不會影響到本程序的代碼。
·正常的方法返回
如果當前方法正常地結束了,在執行了一條具有正確類型的返回指令時,調用的方法會得到一個返回值。執行環境在正常返回的情況下用於恢復調用者的寄存器,並把調用者的程序計數器增加一個恰當的數值,以跳過已執行過的方法調用指令,然後在調用者的執行環境中繼續執行下去。
·異常和錯誤傳播
異常情況在Java中被稱作Error(錯誤)或Exception(異常),是Throwable類的子類,在程序中的原因是:①動態鏈接錯,如無法找到所需的class文件。②運行時錯,如對一個空指針的引用
·程序使用了throw語句。
當異常發生時,Java虛擬機採取如下措施:
·檢查與當前方法相聯系的catch子句表。每個catch子句包含其有效指令范圍,能夠處理的異常類型,以及處理異常的代碼塊地址。
·與異常相匹配的catch子句應該符合下面的條件:造成異常的指令在其指令范圍之內,發生的異常類型是其能處理的異常類型的子類型。如果找到了匹配的catch子句,那麼系統轉移到指定的異常處理塊處執行;如果沒有找到異常處理塊,重復尋找匹配的catch子句的過程,直到當前方法的所有嵌套的catch子句都被檢查過。
·由於虛擬機從第一個匹配的catch子句處繼續執行,所以catch子句表中的順序是很重要的。因為Java代碼是結構化的,因此總可以把某個方法的所有的異常處理器都按序排列到一個表中,對任意可能的程序計數器的值,都可以用線性的順序找到合適的異常處理塊,以處理在該程序計數器值下發生的異常情況。
·如果找不到匹配的catch子句,那麼當前方法得到一個"未截獲異常"的結果並返回到當前方法的調用者,好像異常剛剛在其調用者中發生一樣。如果在調用者中仍然沒有找到相應的異常處理塊,那麼這種錯誤傳播將被繼續下去。如果錯誤被傳播到最頂層,那麼系統將調用一個預設的異常處理塊。
(3)操作數棧區 機器指令只從操作數棧中取操作數,對它們進行操作,並把結果返回到棧中。選擇棧結構的原因是:在只有少量寄存器或非通用寄存器的機器(如Intel486)上,也能夠高效地模擬虛擬機的行為。操作數棧是32位的。它用於給方法傳遞參數,並從方法接收結果,也用於支持操作的參數,並保存操作的結果。例如,iadd指令將兩個整數相加。相加的兩個整數應該是操作數棧頂的兩個字。這兩個字是由先前的指令壓進堆棧的。這兩個整數將從堆棧彈出、相加,並把結果壓回到操作數棧中。
每個原始數據類型都有專門的指令對它們進行必須的操作。每個操作數在棧中需要一個存儲位置,除了long和double型,它們需要兩個位置。操作數只能被適用於其類型的操作符所操作。例如,壓入兩個int類型的數,如果把它們當作是一個long類型的數則是非法的。在Sun的虛擬機實現中,這個限制由位元組碼驗證器強制實行。但是,有少數操作(操作符pe和swap),用於對運行時數據區進行操作時是不考慮類型的。

4.無用單元收集堆
Java的堆是一個運行時數據區,類的實例(對象)從中分配空間。Java語言具有無用單元收集能力:它不給程序員顯式釋放對象的能力。Java不規定具體使用的無用單元收集演算法,可以根據系統的需求使用各種各樣的演算法。

5.方法區
方法區與傳統語言中的編譯後代碼或是Unix進程中的正文段類似。它保存方法代碼(編譯後的java代碼)和符號表。在當前的Java實現中,方法代碼不包括在無用單元收集堆中,但計劃在將來的版本中實現。每個類文件包含了一個Java類或一個Java界面的編譯後的代碼。可以說類文件是Java語言的執行代碼文件。為了保證類文件的平台無關性,Java虛擬機規范中對類文件的格式也作了詳細的說明。其具體細節請參考Sun公司的Java虛擬機規范。

❷ 請問下虛擬機是什麼

虛擬機
一般意義的虛擬機
通過軟體模擬的具有完整硬體系統功能的、運行在一個完全隔離環境中的完整計算機系統。通過虛擬機軟體,你可以在一台物理計算機上模擬出一台或多台虛擬的計算機,這些虛擬機完全就像真正的計算機那樣進行工作,例如你可以安裝操作系統、安裝應用程序、訪問網路資源等等。對於你而言,它只是運行在你物理計算機上的一個應用程序,但是對於在虛擬機中運行的應用程序而言,它就像是在真正的計算機中進行工作。因此,當我在虛擬機中進行軟體評測時,可能系統一樣會崩潰,但是,崩潰的只是虛擬機上的操作系統,而不是物理計算機上的操作系統,並且,使用虛擬機的「Undo」(恢復)功能,我可以馬上恢復虛擬機到安裝軟體之前的狀態。
當前主游虛擬機
目前流行的虛擬機軟體有VMware(VMWare ACE)和Virtual PC,它們都能在Windows系統上虛擬出多個計算機,用於安裝Linux、OS/2、FreeBSD等其他操作系統。微軟在2003年2月份收購Connectix後,很快發布了Microsoft Virtual PC 2004。但出於種種考慮,新發布的Virtual PC 2004已不再明確支持Linux、FreeBSD、NetWare、Solaris等操作系統,只保留了OS/2,如果要虛擬一台Linux計算機,只能自己手工設置。相比而言,VMware不論是在多操作系統的支持上,還是在執行效率上,都比Virtual PC 2004明顯高出一籌,這也是本文選擇它的理由之一。 電腦一台變兩台,學用Linux不再有後顧之憂
虛擬化分類
虛擬化浪潮
微軟虛擬化
IBM虛擬化
HP虛擬化
SWsoft虛擬化
SUN虛擬化
Intel虛擬化
AMD虛擬化
Java虛擬機
VMware 4.5有Workstation、GSX server等多種版本,其中Windows版的Workstation應用最廣,本文即以它為基礎進行各種實戰演習。
虛擬機的概念比較寬泛,通常人們接觸到的虛擬機概念有VMware那樣的硬體模擬軟體,也有JVM這樣的介於硬體和編譯程序之間的軟體。這里所指的是後者。
虛擬機是一個抽象的計算機,和實際的計算機一樣,具有一個指令集並使用不同的存儲區域。它負責執行指令,還要管理數據、內存和寄存器。這台虛擬的機器在任何平台上都提供給編譯程序一個的共同的介面。編譯程序只需要面向虛擬機,生成虛擬機能夠理解的代碼,然後由解釋器來將虛擬機代碼轉換為特定系統的機器碼執行。
Sun xVM VirtualBox又發新版本:2.1.0。
2.1.0不像此前2.0.X一樣主要是修正Bug和完善原有功能,這個版本增加了許多新特性。強烈建議VBox的用戶們更新!
在官方網站的ChangeLog上,我們可以看到這個版本的主要更新信息:
* 支持Max OS X客戶機的硬體虛擬化技術(VT-x和AMD-V);
* 支持在32位操作系統上模擬64位客戶機!(實驗性質,具體看用戶手冊);
* 支持Intel Nehalem虛擬化增強技術(EPT和VPID,具體看用戶手冊);
* 通過OpenGL支持3D加速!(看用戶手冊4.8章);
還有很多更新,但是光是以上四樣就有足夠地理由讓用戶去升級了!
VirtualBox終於支持了通過OpenGL實驗的的3D加速,並且率先支持了在32位的操作系統上模擬64位的客戶機(需要64位CPU支持)。這意味著虛擬機平台的限制更少了,你可以在你的x86平台上模擬AMD64!
針對「OpenGL 3D加速」這一項,我了解到,這項特性目前只在Windows系統上可用,並且只能實現OpenGL加速,而沒有Direct3D加速。這意味著,你已經可以在Windows虛擬機運行一些OpenGL的3D應用,而Direct3D就要稍微等等了。
還等什麼呢,這是一個進步相當大的版本。趕緊下載試用吧:
個人為什麼使用虛擬機
1. 演示環境,可以安裝各種演示環境,便於做各種例子;
2. 保證主機的快速運行,減少不必要的垃圾安裝程序,偶爾使用的程序,或者測試用的程序在虛擬機上運行;
3. 避免每次重新安裝,銀行等常用工具,不經常使用,而且要求保密比較好的,單獨在一個環境下面運行;
4. 想測試一下不熟悉的應用,在虛擬機中隨便安裝和徹底刪除;
5. 體驗不同版本的操作系統,如Linux、Mac等。
虛擬機的部分使用實例
例1:由於計算機網路在我們的日常生活中產生的影響越來越大,很多學校都把與網路相關的課程列為必修或選修的課程內容。而網路課是一門理論與實踐並重的課程,如果只是單純地教授網路相關知識,沒有提供給學生一個實驗的環境,那麼很難激發起學生對網路的興趣,導致學習產生困難,甚至會使學生對網路課產生抵觸情緒。因此,很多學校在注重理論教學的同時,也積極開展相關的網路實驗課程。
為了解決上面這些問題,一種最為簡單的解決方法就是使用虛擬機軟體來搭建一個小型的網路環境,讓學生在這個模擬的網路環境中學習網路的通訊原理,進而有能力進行網路應用的開發。
終端虛擬化由於其帶來的維護費用的大幅降低而受到追捧——如能降低佔用空間,降低購買軟硬體設備的成本,節省能源和更低的維護成本。它比實際存在的終端設備更加具備性價比優勢。但這些並非是教育行業和廠商對虛擬化技術情有獨鍾的惟一原因。另一方面,我們一般較少提及,那就是:虛擬化技術能大幅提升系統的安全性。
例2:等待完善中..
VMware虛擬機安裝過程
VMware Workstation虛擬機是一個在Windows或Linux計算機上運行的應用程序,它可以模擬一個基於x86的標准PC環境。這個環境和真實的計算機一樣,都有晶元組、CPU、內存、顯卡、音效卡、網卡、軟碟機、硬碟、光碟機、串口、並口、USB控制器、SCSI控制器等設備,提供這個應用程序的窗口就是虛擬機的顯示器。
在使用上,這台虛擬機和真正的物理主機沒有太大的區別,都需要分區、格式化、安裝操作系統、安裝應用程序和軟體,總之,一切操作都跟一台真正的計算機一樣。
下面通過例子,介紹使用VMware Workstation創建虛擬機的方法與步驟。
1.運行VMware Workstation 6,單擊「File→New→Virtual Machine」命令,進入創建虛擬機向導,或者直接按「Crtl+N」快捷鍵同樣進入創建虛擬機向導。
2.在彈出的歡迎頁中單擊「下一步」按鈕。
3.在「Virtual machine configuration」選項區域內選擇「Custom」單選按鈕。
4.在Choose the Virtual Machine Hardware Compatibility頁中,選擇虛擬機的硬體格式,可以在Hardware compatibility下拉列表框中,在VMware Workstation 6、VMware Workstation 5或VMware Workstation 4三者之間進行選擇。通常情況下選擇Workstation 6的格式,因為新的虛擬機硬體格式支持更多的功能,選擇好後單擊「下一步」按鈕。
5.在Select a Guest Operating System對話框中,選擇要創建虛擬機類型及要運行的操作系統,這里選擇Windows 2000 Professional操作系統,單擊「下一步」按鈕。
6.在Name the Virtual Machine對話框中,為新建的虛擬機命名並且選擇它的保存路徑。
7.在Processors選項區域中選擇虛擬機中CPU的數量,如果選擇Two,主機需要有兩個CPU或者是超線程的CPU。
8.在Memory for the Virtual Machine頁中,設置虛擬機使用的內存,通常情況下,對於Windows 98及其以下的系統,可以設置64MB;對於Windows 2000/XP,最少可以設置96MB;對於Windows 2003,最低為128MB;對於Windows Vista虛擬機,最低512MB。
9.在Network Type頁中選擇虛擬機網卡的「聯網類型」
選擇第一項,使用橋接網卡(VMnet0虛擬網卡),表示當前虛擬機與主機(指運行VMware Workstation軟體的計算機)在同一個網路中。
選擇第二項,使用NAT網卡(VMnet8虛擬網卡),表示虛擬機通過主機單向訪問主機及主機之外的網路,主機之外的網路中的計算機,不能訪問該虛擬機。
選擇第三項,只使用本地網路(VMnet1虛擬網卡),表示虛擬機只能訪問主機及所有使用VMnet1虛擬網卡的虛擬機。主機之外的網路中的計算機不能訪問該虛擬機,也不能被該虛擬機所訪問。
選擇第四項,沒有網路連接,表明該虛擬機與主機沒有網路連接。
10.在Select I/O Adapter Type頁中,選擇虛擬機的SCSI卡的型號,通常選擇默認值即可。
11.在Select a Disk頁中,選擇Create a new virtual disk(創建一個新的虛擬硬碟)。
12.在Select a Disk Type頁中,選擇創建的虛擬硬碟的介面方式,通常選擇默認值即可。
13.在Specify Disk Capacity頁中設置虛擬磁碟大小,對於一般的使用來說,選擇默認值即可。
14.在Specify Disk File頁的Disk file選項區域內設置虛擬磁碟文件名稱,通常選擇默認值即可,然後單擊完成按鈕。
安裝操作系統
在虛擬機中安裝操作系統,和在真實的計算機中安裝沒有什麼區別,但在虛擬機中安裝操作系統,可以直接使用保存在主機上的安裝光碟鏡像(或者軟盤鏡像)作為虛擬機的光碟機(或者軟碟機)。
可以用打開前文創建的Windows 2000虛擬機配置文件,在Virtual Machine Settings頁中的Hardware選項卡中,選擇CD-ROM項,在Connection選項區域內選中Use ISO image單選按鈕,然後瀏覽選擇Windows 2000安裝光碟鏡像文件(ISO格式)。如果使用安裝光碟,則選擇Use physical drive並選擇安裝光碟所在光碟機。
選擇光碟機完成後,然後單擊工具欄上的播放按鈕,打開虛擬機的電源,用滑鼠在虛擬機工作窗口中單擊一下,進入虛擬機。
【說明】如果想從虛擬機窗口中切換回主機,需要按下Ctrl+Alt熱鍵。
安裝VMware Tools
在虛擬機中安裝完操作系統之後,接下來需要安裝VMware Tools。VMware Tools相當於VMware虛擬機的主板晶元組驅動和顯卡驅動、滑鼠驅動,在安裝VMware Tools後,可以極大提高虛擬機的性能,並且可以讓虛擬機解析度以任意大小進行設置,還可以使用滑鼠直接從虛擬機窗口中切換到主機中為。
1.從VM菜單下選擇安裝VMware Tools。
2.按照提示安裝,最後重新啟動虛擬機即可。
Java虛擬機
一、什麼是Java虛擬機
Java虛擬機(JVM)是Java Virtual Machine的縮寫,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能模擬來實現的。Java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。

1.為什麼要使用Java虛擬機
Java語言的一個非常重要的特點就是與平台的無關性。而使用Java虛擬機是實現這一特點的關鍵。一般的高級語言如果要在不同的平台上運行,至少需要編譯成不同的目標代碼。而引入Java語言虛擬機後,Java語言在不同平台上運行時不需要重新編譯。Java語言使用模式Java虛擬機屏蔽了與具體平台相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(位元組碼),就可以在多種平台上不加修改地運行。Java虛擬機在執行位元組碼時,把位元組碼解釋成具體平台上的機器指令執行。
2.誰需要了解Java虛擬機
Java虛擬機是Java語言底層實現的基礎,對Java語言感興趣的人都應對Java虛擬機有個大概的了解。這有助於理解Java語言的一些性質,也有助於使用Java語言。對於要在特定平台上實現Java虛擬機的軟體人員,Java語言的編譯器作者以及要用硬體晶元實現Java虛擬機的人來說,則必須深刻理解Java虛擬機的規范。另外,如果你想擴展Java語言,或是把其它語言編譯成Java語言的位元組碼,你也需要深入地了解Java虛擬機。
3.Java虛擬機支持的數據類型
Java虛擬機支持Java語言的基本數據類型如下:
byte://1位元組有符號整數的補碼
short://2位元組有符號整數的補碼
int://4位元組有符號整數的補碼
long://8位元組有符號整數的補碼
float://4位元組IEEE754單精度浮點數
double://8位元組IEEE754雙精度浮點數
char://2位元組無符號Unicode字元
幾乎所有的Java類型檢查都是在編譯時完成的。上面列出的原始數據類型的數據在Java執行時不需要用硬體標記。操作這些原始數據類型數據的位元組碼(指令)本身就已經指出了操作數的數據類型,例如iadd、ladd、fadd和dadd指令都是把兩個數相加,其操作數類型別是int、long、float和double。虛擬機沒有給boolean(布爾)類型設置單獨的指令。boolean型的數據是由integer指令,包括integer返回來處理的。boolean型的數組則是用byte數組來處理的。虛擬機使用IEEE754格式的浮點數。不支持IEEE格式的較舊的計算機,在運行Java數值計算程序時,可能會非常慢。
虛擬機支持的其它數據類型包括:
object//對一個Javaobject(對象)的4位元組引用
returnAddress//4位元組,用於jsr/ret/jsr-w/ret-w指令
注:Java數組被當作object處理。
虛擬機的規范對於object內部的結構沒有任何特殊的要求。在Sun公司的實現中,對object的引用是一個句柄,其中包含一對指針:一個指針指向該object的方法表,另一個指向該object的數據。用Java虛擬機的位元組碼表示的程序應該遵守類型規定。Java虛擬機的實現應拒絕執行違反了類型規定的位元組碼程序。Java虛擬機由於位元組碼定義的限制似乎只能運行於32位地址空間的機器上。但是可以創建一個Java虛擬機,它自動地把位元組碼轉換成64位的形式。從Java虛擬機支持的數據類型可以看出,Java對數據類型的內部格式進行了嚴格規定,這樣使得各種Java虛擬機的實現對數據的解釋是相同的,從而保證了Java的與平台無關性和可
移植性。
二、Java虛擬機體系結構
Java虛擬機由五個部分組成:一組指令集、一組寄存器、一個棧、一個無用單元收集堆(Garbage-collected-heap)、一個方法區域。這五部分是Java虛擬機的邏輯成份,不依賴任何實現技術或組織方式,但它們的功能必須在真實機器上以某種方式實現。
1.Java指令集
Java虛擬機支持大約248個位元組碼。每個位元組碼執行一種基本的CPU運算,例如,把一個整數加到寄存器,子程序轉移等。Java指令集相當於Java程序的匯編語言。
Java指令集中的指令包含一個單位元組的操作符,用於指定要執行的操作,還有0個或多個操作數,提供操作所需的參數或數據。許多指令沒有操作數,僅由一個單位元組的操作符構成。
虛擬機的內層循環的執行過程如下:
do{
取一個操作符位元組;
根據操作符的值執行一個動作;
}while(程序未結束)
由於指令系統的簡單性,使得虛擬機執行的過程十分簡單,從而有利於提高執行的效率。指令中操作數的數量和大小是由操作符決定的。如果操作數比一個位元組大,那麼它存儲的順序是高位位元組優先。例如,一個16位的參數存放時佔用兩個位元組,其值為:
第一個位元組*256+第二個位元組位元組碼指令流一般只是位元組對齊的。指令tabltch和lookup是例外,在這兩條指令內部要求強制的4位元組邊界對齊。
2.寄存器
Java虛擬機的寄存器用於保存機器的運行狀態,與微處理器中的某些專用寄存器類似。
Java虛擬機的寄存器有四種:
pc:Java程序計數器。
optop:指向操作數棧頂端的指針。
frame:指向當前執行方法的執行環境的指針。
vars:指向當前執行方法的局部變數區第一個變數的指針。
Java虛擬機
Java虛擬機是棧式的,它不定義或使用寄存器來傳遞或接受參數,其目的是為了保證指令集的簡潔性和實現時的高效性(特別是對於寄存器數目不多的處理器)。
所有寄存器都是32位的。
3.棧
Java虛擬機的棧有三個區域:局部變數區、運行環境區、操作數區。
(1)局部變數區
每個Java方法使用一個固定大小的局部變數集。它們按照與vars寄存器的字偏移量來定址。局部變數都是32位的。長整數和雙精度浮點數占據了兩個局部變數的空間,卻按照第一個局部變數的索引來定址。(例如,一個具有索引n的局部變數,如果是一個雙精度浮點數,那麼它實際占據了索引n和n+1所代表的存儲空間。)虛擬機規范並不要求在局部變數中的64位的值是64位對齊的。虛擬機提供了把局部變數中的值裝載到操作數棧的指令,也提供了把操作數棧中的值寫入局部變數的指令。
(2)運行環境區
在運行環境中包含的信息用於動態鏈接,正常的方法返回以及異常傳播。
·動態鏈接
運行環境包括對指向當前類和當前方法的解釋器符號表的指針,用於支持方法代碼的動態鏈接。方法的class文件代碼在引用要調用的方法和要訪問的變數時使用符號。動態鏈接把符號形式的方法調用翻譯成實際方法調用,裝載必要的類以解釋還沒有定義的符號,並把變數訪問翻譯成與這些變數運行時的存儲結構相應的偏移地址。動態鏈接方法和變數使得方法中使用的其它類的變化不會影響到本程序的代碼。
·正常的方法返回
如果當前方法正常地結束了,在執行了一條具有正確類型的返回指令時,調用的方法會得到一個返回值。執行環境在正常返回的情況下用於恢復調用者的寄存器,並把調用者的程序計數器增加一個恰當的數值,以跳過已執行過的方法調用指令,然後在調用者的執行環境中繼續執行下去。
·異常和錯誤傳播
異常情況在Java中被稱作Error(錯誤)或Exception(異常),是Throwable類的子類,在程序中的原因是:①動態鏈接錯,如無法找到所需的class文件。②運行時錯,如對一個空指針的引用
·程序使用了throw語句。
當異常發生時,Java虛擬機採取如下措施:
·檢查與當前方法相聯系的catch子句表。每個catch子句包含其有效指令范圍,能夠處理的異常類型,以及處理異常的代碼塊地址。
·與異常相匹配的catch子句應該符合下面的條件:造成異常的指令在其指令范圍之內,發生的異常類型是其能處理的異常類型的子類型。如果找到了匹配的catch子句,那麼系統轉移到指定的異常處理塊處執行;如果沒有找到異常處理塊,重復尋找匹配的catch子句的過程,直到當前方法的所有嵌套的catch子句都被檢查過。
·由於虛擬機從第一個匹配的catch子句處繼續執行,所以catch子句表中的順序是很重要的。因為Java代碼是結構化的,因此總可以把某個方法的所有的異常處理器都按序排列到一個表中,對任意可能的程序計數器的值,都可以用線性的順序找到合適的異常處理塊,以處理在該程序計數器值下發生的異常情況。
·如果找不到匹配的catch子句,那麼當前方法得到一個"未截獲異常"的結果並返回到當前方法的調用者,好像異常剛剛在其調用者中發生一樣。如果在調用者中仍然沒有找到相應的異常處理塊,那麼這種錯誤傳播將被繼續下去。如果錯誤被傳播到最頂層,那麼系統將調用一個預設的異常處理塊。
(3)操作數棧區 機器指令只從操作數棧中取操作數,對它們進行操作,並把結果返回到棧中。選擇棧結構的原因是:在只有少量寄存器或非通用寄存器的機器(如Intel486)上,也能夠高效地模擬虛擬機的行為。操作數棧是32位的。它用於給方法傳遞參數,並從方法接收結果,也用於支持操作的參數,並保存操作的結果。例如,iadd指令將兩個整數相加。相加的兩個整數應該是操作數棧頂的兩個字。這兩個字是由先前的指令壓進堆棧的。這兩個整數將從堆棧彈出、相加,並把結果壓回到操作數棧中。
每個原始數據類型都有專門的指令對它們進行必須的操作。每個操作數在棧中需要一個存儲位置,除了long和double型,它們需要兩個位置。操作數只能被適用於其類型的操作符所操作。例如,壓入兩個int類型的數,如果把它們當作是一個long類型的數則是非法的。在Sun的虛擬機實現中,這個限制由位元組碼驗證器強制實行。但是,有少數操作(操作符pe和swap),用於對運行時數據區進行操作時是不考慮類型的。

4.無用單元收集堆
Java的堆是一個運行時數據區,類的實例(對象)從中分配空間。Java語言具有無用單元收集能力:它不給程序員顯式釋放對象的能力。Java不規定具體使用的無用單元收集演算法,可以根據系統的需求使用各種各樣的演算法。

5.方法區
方法區與傳統語言中的編譯後代碼或是Unix進程中的正文段類似。它保存方法代碼(編譯後的java代碼)和符號表。在當前的Java實現中,方法代碼不包括在無用單元收集堆中,但計劃在將來的版本中實現。每個類文件包含了一個Java類或一個Java界面的編譯後的代碼。可以說類文件是Java語言的執行代碼文件。為了保證類文件的平台無關性,Java虛擬機規范中對類文件的格式也作了詳細的說明。其具體細節請參考Sun公司的Java虛擬機規范。

❸ 虛擬機有幾種類型

虛擬機有:微軟虛擬機、Mac虛擬機、BM虛擬機 、HP虛擬機、SWsoft虛擬機 、SUN虛擬機、Intel虛擬機、AMD虛擬機、Java虛擬機、BB虛擬機、Linux虛擬機,這11種類型。

其中:

1、linux虛擬機

一種安裝在Windows上的虛擬linux操作環境,就被稱為linux虛擬機。它實際上只是個文件而已,是虛擬的linux環境,而非真正意義上的操作系統。但是它們的實際效果是一樣的。所以安裝在虛擬機上使用好。

2、Java虛擬機

Java虛擬機(JVM)是Java Virtual Machine的縮寫,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能模擬來實現的。Java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。

(3)安卓虛擬設備縮寫是什麼擴展閱讀:

虛擬機的主要用處:

1、演示環境,可以安裝各種演示環境,便於做各種例子。

2、保證主機的快速運行,減少不必要的垃圾安裝程序,偶爾使用的程序,或者測試用的程序在虛擬機上運行。

3、避免每次重新安裝,銀行等常用工具,不經常使用,而且要求保密比較好的,單獨在一個環境下面運行。

4、想測試一下不熟悉的應用,在虛擬機中隨便安裝和徹底刪除。

5、體驗不同版本的操作系統,如Linux、Mac等。

❹ 如何新建安卓AVD虛擬模擬器

打開安卓虛擬設備管理器,即 AVD Manager。點擊圖中的「New...」按鈕新建安卓模擬器設備。在下一界面設置安卓模擬器的詳細設備參數,包括內存大小等。

打開窗體後,填寫 AVD Name,即虛擬器的名稱,此為必填項,並且只支持大小寫英文、數字、下劃線,不能與之前新建的 AVD 名稱相同。然後選擇 Device,選擇適合自己的屏幕大小、解析度。再選擇 Target,即安卓系統版本。若出現 Device、Target 為空或無法選擇,包括之前點擊「New...」按鈕時無效,請執行以下操作:

1.打開 SDK Manager(圖3);
2.勾選自己需要安裝的項目,圖中僅為舉例,點擊「Install [n] packages」開始安裝勾選,安裝完成後會提示「Installed」(已安裝)(圖4-5);
3.安裝或更新完成 Packages(安卓系統版本包)後,便可繼續新建虛擬器。

勾選「 Keyboard 」、「 Skin 」,選擇前置攝像頭「 Front Camera 」為 Webcam0(會調用電腦攝像頭)。後置攝像頭「 Back Camera 」為任意一項即可。

設置 Memory Options(存儲選項),在 RAM 右側的文本框里輸入運行內存大小(如512,即512M);然後在 VM Heap 右側的文本框里輸入緩存大小(如64,即64M)。

填寫 Internal Storage(內部存儲),即手機自帶存儲大小,然後繼續填寫 SD Card(SD 存儲卡)大小,你可以選擇右側的下拉選項以改變數值的存儲單位,還可以從已有的文件中選擇 SD 卡。

其他選項可以保持默認,勾選「 Snapshot 」表示開啟快照功能,勾選「 Use Host GPU 」即表示使用主機的 GPU。所有的設置完成後,點擊「 OK 」按鈕保存設置並關閉設置窗體。

下面就可以啟動新建的虛擬器了,點擊選中新建的名稱為「 AVD 」的虛擬器,然後點擊在新窗體中點擊「 Lanuch 」啟動此虛擬器,此時發現電腦攝像頭亮了一下(虛擬器開始調用電腦攝像頭),並且彈出了「攝像頭設備選擇」窗體,選擇您的攝像頭即可。

❺ 虛擬機有哪些

1、linux虛擬機

一種安裝在Windows上的虛擬linux操作環境,就被稱為linux虛擬機。它實際上只是個文件而已,是虛擬的linux環境,而非真正意義上的操作系統。但是它們的實際效果是一樣的。所以安裝在虛擬機上使用好。

2、Java虛擬機

Java虛擬機(JVM)是Java Virtual Machine的縮寫,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能模擬來實現的。Java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。

虛擬機主要用處

1、演示環境,可以安裝各種演示環境,便於做各種例子。

2、保證主機的快速運行,減少不必要的垃圾安裝程序,偶爾使用的程序,或者測試用的程序在虛擬機上運行。

3、避免每次重新安裝,銀行等常用工具,不經常使用,而且要求保密比較好的,單獨在一個環境下面運行。

4、想測試一下不熟悉的應用,在虛擬機中隨便安裝和徹底刪除。

5、體驗不同版本的操作系統,如Linux、Mac等。

以上內容參考網路-虛擬機

❻ 虛擬機是什麼

Java虛擬機(JVM)是Java Virtual Machine的縮寫,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能模擬來實現的。Java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。
接著說個別的,希望可以幫你
什麼是Java虛擬機?
Java虛擬機是一個想像中的機器,在實際的計算機上通過軟體模擬來實現。Java虛擬機有自己想像中的硬體,如處理器、堆棧、寄存器等,還具有相應的指令系統。
Java是一種軟體技術
是一種由美國SUN計算機公司(Sun Microsystems, Inc.)所研究而成的語言
是一種為 Internet發展的計算機語言
是一種使網頁(Web Page)產生生動活潑畫面的語言
是一種使網頁(Web Page)由靜態(Static)轉變為動態(Dynamic)的語言
是一種語言,用以產生「小應用程序(Applet(s))」
是一種簡化的C++語言 是一種安全的語言,具有阻絕計算機病毒傳輸的功能
是一種將安全性(Security)列為第一優先考慮的語言
是一種使用者不需花費很多時間學習的語言
是一種突破用戶端機器環境和CPU結構的語言
是一種「寫一次,即可在任何機器上執行(Write OnceRun Anywhere)」的語言是有史以來,第一套允 使用者將應用程序(Applications)通過Internet從遠端的伺服器(Remote Server)傳輸到本地端的機器 上(LocalMachine)並執行
是一種應用程序提供者不需要知道使用者的計算機硬體(如:Sun, Intel, 或MAC等)與軟體(如:SW- UNIX, MAC O/S, Windows, 或NT等)環境的語言(Kestenbaum, 1995)。

*為什麼要使用Java虛擬機?
Java語言的一個非常重要的特點就是與平台的無關性。而使用Java虛擬機是實現這一特點的關鍵。一般的高級語言如果要在不同的平台上運行,至少需要編譯成不同的目標代碼。而引入Java語言虛擬機後,Java語言在不同平台上運行時不需要重新編譯。Java語言使用模式Java虛擬機屏蔽了與具體平台相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(位元組碼),就可以在多種平台上不加修改地運行。Java虛擬機在執行位元組碼時,把位元組碼解釋成具體平台上的機器指令執行。

❼ 安卓的英文縮寫是什麼

英文單詞「Android」就是安卓的英文縮寫。其實是英譯過來的中文名稱。

android是一種以Linux與JAVA為基礎的開放源代碼操作系統,主要使用於便攜設備。中國大陸地區較多人使用「安卓」。

❽ 虛擬機是什麼東西那位大哥大姐能給我解釋詳細點!

虛擬機(Virtual Machine)指通過軟體模擬的具有完整硬體系統功能的、運行在一個完全隔離環境中的完整計算機系統。
基本概念
一般意義的虛擬機: 通過虛擬機軟體,你可以在一台物理計算機上模擬出一台或多台虛擬的計算機,這些虛擬機完全就像真正的計算機那樣進行工作,例如你可以安裝操作系統、安裝應用程序、訪問網路資源等等。對於你而言,它只是運行在你物理計算機上的一個應用程序,但是對於在虛擬機中運行的應用程序而言,它就像是在真正的計算機中進行工作。因此,當我在虛擬機中進行軟體評測時,可能系統一樣會崩潰,但是,崩潰的只是虛擬機上的操作系統,而不是物理計算機上的操作系統,並且,使用虛擬機的「Undo」(恢復)功能,我可以馬上恢復虛擬機到安裝軟體之前的狀態。
編輯本段虛擬系統與虛擬機區別
虛擬系統其實以Prayaya迅影V3虛擬系統為代表的,通過生成現有操作系統的全新虛擬鏡像,它具有真實windows系統完全一樣的功能,進入虛擬系統後,所有操作都是在這個全新的獨立的虛擬系統裡面進行,可以獨立安裝運行軟體,保存數據,擁有自己的獨立桌面,不會對真正的系統產生任何影響 ,而且具有能夠在現有系統與虛擬鏡像之間靈活切換的一類操作系統。虛擬系統和傳統的虛擬機(Vmware,VirtualBox,Virtual pc)不同,虛擬系統不會降低電腦的性能,啟動虛擬系統不需要像啟動windows系統那樣耗費時間,運行程序更加方便快捷。
迅影V3虛擬系統技術指標
下面是技術參數:cpu 佔用:不超過5%;內存佔用:不超過30M;磁碟佔用:不超過20M;是否支持網路: 支持;是否支持網路共享:支持;是否支持軟體原生安裝:支持;系統支持的平台兼容性:兼容 Windows XP, Windows 7;平台系統可移動性:支持。
編輯本段主流虛擬機
目前流行的虛擬機軟體有VMware(VMWare ACE)和Virtual PC,它們都能在Windows系統上虛擬出多個計算機,
編輯本段虛擬機分類
微軟虛擬機 IBM虛擬機 HP虛擬機 SWsoft虛擬機 SUN虛擬機 Intel虛擬機 AMD虛擬機 Java虛擬機
編輯本段常用虛擬機介紹:
VMware
在詳細介紹之前,有幾個概念要說明: 1. VM(Virtual Machine)——虛擬機,指由Vmware模擬出來的一台虛擬的計算機,也即邏輯上的一台計算機; 2.HOST——指物理存在的計算機,Host′s OS指HOST上運行的操作系統; 3. Guest OS——指運行在VM上的操作系統。例如在一台安裝了Windows NT的計算機上安裝了Vmware,那麼,HOST指的是安裝Windows NT的這台計算機,其Host′s OS為Windows NT。VM上運行的是Linux,那麼Linux即為Guest OS。 一、Vmware的特點 1.可同時在同一台PC上運行多個操作系統,每個OS都有自己獨立的一個虛擬機, 就如同網路上一個獨立的PC。 2.在Windows NT/2000上同時運行兩個VM,相互之間可以進行對話,也可以在全 屏方式下進行虛擬機之間對話,不過此時另一個虛擬機在後台運行。 3.在VM上安裝同一種操作系統的另一發行版,不需要重新對硬碟進行分區。 4.虛擬機之間共享文件、應用、網路資源等。 5.可以運行C/S方式的應用,也可以在同一台計算機上,使用另一台虛擬機的所有資源。 使用Vmware,你可以同時運行Linux各種發行版、Dos、Windows各種版本,Unix等,你甚至可以在同一台計算機上安裝多個Linux發行版、 多個Windows版本。筆者安裝了Windows NT下的Vmware後,在VM上安裝了Red Hat Linux ,成功 運行了Xwindow,同時也在虛擬機下安裝了Windows 98。這簡直令人難以置信!但是,這一切發 生了,是Vmware幫助的結果! 目前,Vmware對虛擬硬碟容量大小的支持尚有一定的限制,最大為2GB。而且,一旦虛擬硬碟的 大小建立好了,以後就不允許用戶再更改了。虛擬硬碟實際上是Windows NT下的一個文件,而對於 Guest OS,它則永遠被看作是一個IDE硬碟。在虛擬機中,目前尚沒有SCSI、RAID的概念。 不過,你 不必擔心,盡管在虛擬機中不支持SCSI盤,但是,虛擬磁碟卻可以建立在任何種類的硬碟上,包括 IDE、SCSI甚至RAID陣列上。這些盤上的文件系統可以是FAT16、FAT32、NTFS等。此外,虛擬盤也 可建立在一個可移動的磁碟上,還可以建立在一個網路文件伺服器上。如果用戶願意,也可以放置 在一個已劃分好的分區上。 在Vmware的窗口上,模擬了多個按鍵,分別代表打開虛擬機電源、關閉虛擬機電源、Reset鍵等等。 這些按鍵的功能就如同真正的按鍵一樣。如果你的Guest OS是Linux ,而你不是通過halt命令或 reboot命令關閉Linux 系統的。那麼,下次啟動Linux的時,Linux就會自動進行文件系統的檢查與修 復。因為它認為上次關機是一次真實的斷電事故。 VMware 可以使你在一台機器上同時運行二個或更多Windows、DOS、LINUX系統。與「多啟動」系統相比,VMWare採用了完全不同的概念。多啟動系統在一個時刻只能運行一個系統,在系統切換時需要重新啟動機器。VMWare是真正「同時」運行,多個操作系統在主系統的平台上,就象標准Windows應用程序那樣切換。而且每個操作系統你都可以進行虛擬的分區、配置而不影響真實硬碟的數據,你甚至可以通過網卡將幾台虛擬機用網卡連接為一個區域網,極其方便。安裝在VMware操作系統性能上比直接安裝在硬碟上的系統低不少,因此,比較適合學習和測試。 使我們可以在同一台PC機上同時運行Windows NT、Linux、Windows 9x、FreeBSD……可以在使用Linux的同時,即時轉到Win 9x中運行Word。如果要使用Linux,只要輕輕一點,又回到Linux之中。就如同你有兩台計算機在同時工作。實現的工具就是:虛擬計算平台——Vmware。
Virtual PC
Virtual PC是微軟公司(Microsoft) 收購過來的,最早不是微軟開發的。Virtual PC可以允許你在一個工作站上同時運行多個PC操作系統,當你轉向一個新OS時,可以為你運行傳統應用提供一個安全的環境以保持兼容性,它可以保存重新配置的時間,使得你的支持,開發,培訓工作可以更加有效.
Oracle xVM VirtualBox
Oracle VM VirtualBox 是由Sun Microsystems公司出品的軟體(sun 於 2010年被Oracle收購),原由德國innotek公司開發。2008年2月12日,Sun Microsystems宣布將以購買股票的方式收購德國Innotek軟體公司,新版不再叫做Innotek VirtualBox,而改叫Sun xVM VirtualBox。2010年1月21日,歐盟終於同意Oracle收購Sun,VirtualBox再次該名變成 Oracle VM VirtualBox。VirtualBox是開源軟體。目前VirtualBox 3.2.0支持的操作系統包括:Debian, Fedora, Linux, Mac OS X(Intel), Mandriva, OpenSolaris, PCLiunxOS, Red Hat, SUSE Linux, Solaris 10, Ubuntu, Windows, Xandros, openSUSE等。Oracle VM VirtualBox 支持的客戶端操作系統包括:從 3.1到Vista的所有版本的Windows、Linux 2.2、2.4和 2.6內核、Solaris x86、OS/2、、OpenBSD、 Netware 、FreeBSD 和 DOS 。在 2007 年 1 月,InnoTek 以 GNU General Public License (GPL) 釋出 VirtualBox,並提供二進位版本及開放源碼版本的代碼。
編輯本段為什麼使用虛擬機
1.演示環境,可以安裝各種演示環境,便於做各種例子; 2.保證主機的快速運行,減少不必要的垃圾安裝程序,偶爾使用的程序,或者測試用的程序在虛擬機上運行; 3.避免每次重新安裝,銀行等常用工具,不經常使用,而且要求保密比較好的,單獨在一個環境下面運行; 4.想測試一下不熟悉的應用,在虛擬機中隨便安裝和徹底刪除; 5.體驗不同版本的操作系統,如Linux、Mac等。 終端虛擬化由於其帶來的維護費用的大幅降低而受到追捧——如能降低佔用空間,降低購買軟硬體設備的成本,節省能源和更低的維護成本。它比實際存在的終端設備更加具備性價比優勢。但這些並非是教育行業和廠商對虛擬化技術情有獨鍾的惟一原因。另一方面,我們一般較少提及,那就是:虛擬化技術能大幅提升系統的安全性。
編輯本段VMware虛擬機安裝過程
安裝介紹:
VMware Workstation虛擬機是一個在Windows或Linux計算機上運行的應用程序,它可以模擬一個基於x86的標准PC環境。這個環境和真實的計算機一樣,都有晶元組、CPU、內存、顯卡、音效卡、網卡、軟碟機、硬碟、光碟機、串口、並口、USB控制器、SCSI控制器等設備,提供這個應用程序的窗口就是虛擬機的顯示器。 在使用上,這台虛擬機和真正的物理主機沒有太大的區別,都需要分區、格式化、安裝操作系統、安裝應用程序和軟體,總之,一切操作都跟一台真正的計算機一樣。
安裝過程
下面通過例子,介紹使用VMware Workstation創建虛擬機的方法與步驟。 1.運行VMware Workstation 6,單擊「File→New→Virtual Machine」命令,進入創建虛擬機向導,或者直接按「Crtl+N」快捷鍵同樣進入創建虛擬機向導。 2.在彈出的歡迎頁中單擊「下一步」按鈕。 3.在「Virtual machine configuration」選項區域內選擇「Custom」單選按鈕。 4.在Choose the Virtual Machine Hardware Compatibility頁中,選擇虛擬機的硬體格式,可以在Hardware compatibility下拉列表框中,在VMware Workstation 6、VMware Workstation 5或VMware Workstation 4三者之間進行選擇。通常情況下選擇Workstation 6的格式,因為新的虛擬機硬體格式支持更多的功能,選擇好後單擊「下一步」按鈕。 5.在Select a Guest Operating System對話框中,選擇要創建虛擬機類型及要運行的操作系統,這里選擇Windows 2000 Professional操作系統,單擊「下一步」按鈕。 6.在Name the Virtual Machine對話框中,為新建的虛擬機命名並且選擇它的保存路徑。 7.在Processors選項區域中選擇虛擬機中CPU的數量,如果選擇Two,主機需要有兩個CPU或者是超線程的CPU。 8.在Memory for the Virtual Machine頁中,設置虛擬機使用的內存,通常情況下,對於Windows 98及其以下的系統,可以設置64MB;對於Windows 2000/XP,最少可以設置96MB;對於Windows 2003,最低為128MB;對於Windows Vista虛擬機,最低512MB。 9.在Network Type頁中選擇虛擬機網卡的「聯網類型」 選擇第一項,使用橋接網卡(VMnet0虛擬網卡),表示當前虛擬機與主機(指運行VMware Workstation軟體的計算機)在同一個網路中。 選擇第二項,使用NAT網卡(VMnet8虛擬網卡),表示虛擬機通過主機單向訪問主機及主機之外的網路,主機之外的網路中的計算機,不能訪問該虛擬機。 選擇第三項,只使用本地網路(VMnet1虛擬網卡),表示虛擬機只能訪問主機及所有使用VMnet1虛擬網卡的虛擬機。主機之外的網路中的計算機不能訪問該虛擬機,也不能被該虛擬機所訪問。 選擇第四項,沒有網路連接,表明該虛擬機與主機沒有網路連接。 10.在Select I/O Adapter Type頁中,選擇虛擬機的SCSI卡的型號,通常選擇默認值即可。 11.在Select a Disk頁中,選擇Create a new virtual disk(創建一個新的虛擬硬碟)。 12.在Select a Disk Type頁中,選擇創建的虛擬硬碟的介面方式,通常選擇默認值即可。 13.在Specify Disk Capacity頁中設置虛擬磁碟大小,對於一般的使用來說,選擇默認值即可。 14.在Specify Disk File頁的Disk file選項區域內設置虛擬磁碟文件名稱,通常選擇默認值即可,然後單擊完成按鈕。 安裝操作系統
安裝注意:
在虛擬機中安裝操作系統,和在真實的計算機中安裝沒有什麼區別,但在虛擬機中安裝操作系統,可以直接使用保存在主機上的安裝光碟鏡像(或者軟盤鏡像)作為虛擬機的光碟機(或者軟碟機)。 可以用打開前文創建的Windows 2000虛擬機配置文件,在Virtual Machine Settings頁中的Hardware選項卡中,選擇CD-ROM項,在Connection選項區域內選中Use ISO image單選按鈕,然後瀏覽選擇Windows 2000安裝光碟鏡像文件(ISO格式)。如果使用安裝光碟,則選擇Use physical drive並選擇安裝光碟所在光碟機。 選擇光碟機完成後,然後單擊工具欄上的播放按鈕,打開虛擬機的電源,用滑鼠在虛擬機工作窗口中單擊一下,進入虛擬機。 如果想從虛擬機窗口中切換回主機,需要按下Ctrl+Alt熱鍵。 安裝VMware Tools 在虛擬機中安裝完操作系統之後,接下來需要安裝VMware Tools。VMware Tools相當於VMware虛擬機的主板晶元組驅動和顯卡驅動、滑鼠驅動,在安裝VMware Tools後,可以極大提高虛擬機的性能,並且可以讓虛擬機解析度以任意大小進行設置,還可以使用滑鼠直接從虛擬機窗口中切換到主機中來。 1.從VM菜單下選擇安裝VMware Tools。 2.按照提示安裝,最後重新啟動虛擬機即可。
編輯本段Java虛擬機
什麼是Java虛擬機
Java虛擬機(JVM)是Java Virtual Machine的縮寫,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能模擬來實現的。Java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。
為什麼要使用Java虛擬機
Java語言的一個非常重要的特點就是與平台的無關性。而使用Java虛擬機是實現這一特點的關鍵。一般的高級語言如果要在不同的平台上運行,至少需要編譯成不同的目標代碼。而引入Java語言虛擬機後,Java語言在不同平台上運行時不需要重新編譯。Java語言使用模式Java虛擬機屏蔽了與具體平台相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(位元組碼),就可以在多種平台上不加修改地運行。Java虛擬機在執行位元組碼時,把位元組碼解釋成具體平台上的機器指令執行。
誰需要了解Java虛擬機
Java虛擬機是Java語言底層實現的基礎,對Java語言感興趣的人都應對Java虛擬機有個大概的了解。這有助於理解Java語言的一些性質,也有助於使用Java語言。對於要在特定平台上實現Java虛擬機的軟體人員,Java語言的編譯器作者以及要用硬體晶元實現Java虛擬機的人來說,則必須深刻理解Java虛擬機的規范。另外,如果你想擴展Java語言,或是把其它語言編譯成Java語言的位元組碼,你也需要深入地了解Java虛擬機。
Java虛擬機支持的數據類型
Java虛擬機支持Java語言的基本數據類型如下: byte://1位元組有符號整數的補碼 short://2位元組有符號整數的補碼 int://4位元組有符號整數的補碼 long://8位元組有符號整數的補碼 float://4位元組IEEE754單精度浮點數 double://8位元組IEEE754雙精度浮點數 char://2位元組無符號Unicode字元 幾乎所有的Java類型檢查都是在編譯時完成的。上面列出的原始數據類型的數據在Java執行時不需要用硬體標記。操作這些原始數據類型數據的位元組碼(指令)本身就已經指出了操作數的數據類型,例如iadd、ladd、fadd和dadd指令都是把兩個數相加,其操作數類型別是int、long、float和double。虛擬機沒有給boolean(布爾)類型設置單獨的指令。boolean型的數據是由integer指令,包括integer返回來處理的。boolean型的數組則是用byte數組來處理的。虛擬機使用IEEE754格式的浮點數。不支持IEEE格式的較舊的計算機,在運行Java數值計算程序時,可能會非常慢。
虛擬機支持的其它數據類型包括:
object//對一個Javaobject(對象)的4位元組引用 returnAddress//4位元組,用於jsr/ret/jsr-w/ret-w指令 注:Java數組被當作object處理。 虛擬機的規范對於object內部的結構沒有任何特殊的要求。在Sun公司的實現中,對object的引用是一個句柄,其中包含一對指針:一個指針指向該object的方法表,另一個指向該object的數據。用Java虛擬機的位元組碼表示的程序應該遵守類型規定。Java虛擬機的實現應拒絕執行違反了類型規定的位元組碼程序。Java虛擬機由於位元組碼定義的限制似乎只能運行於32位地址空間的機器上。但是可以創建一個Java虛擬機,它自動地把位元組碼轉換成64位的形式。從Java虛擬機支持的數據類型可以看出,Java對數據類型的內部格式進行了嚴格規定,這樣使得各種Java虛擬機的實現對數據的解釋是相同的,從而保證了Java的與平台無關性和可 移植性。
編輯本段Java虛擬機體系結構
Java虛擬機由五個部分組成:一組指令集、一組寄存器、一個棧、一個無用單元收集堆(Garbage-collected-heap)、一個方法區域。這五部分是Java虛擬機的邏輯成份,不依賴任何實現技術或組織方式,但它們的功能必須在真實機器上以某種方式實現。
Java指令集
Java虛擬機支持大約248個位元組碼。每個位元組碼執行一種基本的CPU運算,例如,把一個整數加到寄存器,子程序轉移等。Java指令集相當於Java程序的匯編語言。 Java指令集中的指令包含一個單位元組的操作符,用於指定要執行的操作,還有0個或多個操作數,提供操作所需的參數或數據。許多指令沒有操作數,僅由一個單位元組的操作符構成。 虛擬機的內層循環的執行過程如下: do{ 取一個操作符位元組; 根據操作符的值執行一個動作; }while(程序未結束) 由於指令系統的簡單性,使得虛擬機執行的過程十分簡單,從而有利於提高執行的效率。指令中操作數的數量和大小是由操作符決定的。如果操作數比一個位元組大,那麼它存儲的順序是高位位元組優先。例如,一個16位的參數存放時佔用兩個位元組,其值為: 第一個位元組*256+第二個位元組位元組碼指令流一般只是位元組對齊的。指令tabltch和lookup是例外,在這兩條指令內部要求強制的4位元組邊界對齊。
寄存器
Java虛擬機的寄存器用於保存機器的運行狀態,與微處理器中的某些專用寄存器類似。 Java虛擬機的寄存器有四種: pc:Java程序計數器。 optop:指向操作數棧頂端的指針。 frame:指向當前執行方法的執行環境的指針。 vars:指向當前執行方法的局部變數區第一個變數的指針。 Java虛擬機 Java虛擬機是棧式的,它不定義或使用寄存器來傳遞或接受參數,其目的是為了保證指令集的簡潔性和實現時的高效性(特別是對於寄存器數目不多的處理器)。 所有寄存器都是32位的。

Java虛擬機的棧有三個區域:局部變數區、運行環境區、操作數區。 (1)局部變數區 每個Java方法使用一個固定大小的局部變數集。它們按照與vars寄存器的字偏移量來定址。局部變數都是32位的。長整數和雙精度浮點數占據了兩個局部變數的空間,卻按照第一個局部變數的索引來定址。(例如,一個具有索引n的局部變數,如果是一個雙精度浮點數,那麼它實際占據了索引n和n+1所代表的存儲空間。)虛擬機規范並不要求在局部變數中的64位的值是64位對齊的。虛擬機提供了把局部變數中的值裝載到操作數棧的指令,也提供了把操作數棧中的值寫入局部變數的指令。 (2)運行環境區 在運行環境中包含的信息用於動態鏈接,正常的方法返回以及異常傳播。 ·動態鏈接 運行環境包括對指向當前類和當前方法的解釋器符號表的指針,用於支持方法代碼的動態鏈接。方法的class文件代碼在引用要調用的方法和要訪問的變數時使用符號。動態鏈接把符號形式的方法調用翻譯成實際方法調用,裝載必要的類以解釋還沒有定義的符號,並把變數訪問翻譯成與這些變數運行時的存儲結構相應的偏移地址。動態鏈接方法和變數使得方法中使用的其它類的變化不會影響到本程序的代碼。 ·正常的方法返回 如果當前方法正常地結束了,在執行了一條具有正確類型的返回指令時,調用的方法會得到一個返回值。執行環境在正常返回的情況下用於恢復調用者的寄存器,並把調用者的程序計數器增加一個恰當的數值,以跳過已執行過的方法調用指令,然後在調用者的執行環境中繼續執行下去。 ·異常和錯誤傳播 異常情況在Java中被稱作Error(錯誤)或Exception(異常),是Throwable類的子類,在程序中的原因是:①動態鏈接錯,如無法找到所需的class文件。②運行時錯,如對一個空指針的引用 ·程序使用了throw語句。 當異常發生時,Java虛擬機採取如下措施: ·檢查與當前方法相聯系的catch子句表。每個catch子句包含其有效指令范圍,能夠處理的異常類型,以及處理異常的代碼塊地址。 ·與異常相匹配的catch子句應該符合下面的條件:造成異常的指令在其指令范圍之內,發生的異常類型是其能處理的異常類型的子類型。如果找到了匹配的catch子句,那麼系統轉移到指定的異常處理塊處執行;如果沒有找到異常處理塊,重復尋找匹配的catch子句的過程,直到當前方法的所有嵌套的catch子句都被檢查過。 ·由於虛擬機從第一個匹配的catch子句處繼續執行,所以catch子句表中的順序是很重要的。因為Java代碼是結構化的,因此總可以把某個方法的所有的異常處理器都按序排列到一個表中,對任意可能的程序計數器的值,都可以用線性的順序找到合適的異常處理塊,以處理在該程序計數器值下發生的異常情況。 ·如果找不到匹配的catch子句,那麼當前方法得到一個"未截獲異常"的結果並返回到當前方法的調用者,好像異常剛剛在其調用者中發生一樣。如果在調用者中仍然沒有找到相應的異常處理塊,那麼這種錯誤傳播將被繼續下去。如果錯誤被傳播到最頂層,那麼系統將調用一個預設的異常處理塊。 (3)操作數棧區 機器指令只從操作數棧中取操作數,對它們進行操作,並把結果返回到棧中。選擇棧結構的原因是:在只有少量寄存器或非通用寄存器的機器(如Intel486)上,也能夠高效地模擬虛擬機的行為。操作數棧是32位的。它用於給方法傳遞參數,並從方法接收結果,也用於支持操作的參數,並保存操作的結果。例如,iadd指令將兩個整數相加。相加的兩個整數應該是操作數棧頂的兩個字。這兩個字是由先前的指令壓進堆棧的。這兩個整數將從堆棧彈出、相加,並把結果壓回到操作數棧中。 每個原始數據類型都有專門的指令對它們進行必須的操作。每個操作數在棧中需要一個存儲位置,除了long和double型,它們需要兩個位置。操作數只能被適用於其類型的操作符所操作。例如,壓入兩個int類型的數,如果把它們當作是一個long類型的數則是非法的。在Sun的虛擬機實現中,這個限制由位元組碼驗證器強制實行。但是,有少數操作(操作符pe和swap),用於對運行時數據區進行操作時是不考慮類型的。
無用單元收集堆
Java的堆是一個運行時數據區,類的實例(對象)從中分配空間。Java語言具有無用單元收集能力:它不給程序員顯式釋放對象的能力。Java不規定具體使用的無用單元收集演算法,可以根據系統的需求使用各種各樣的演算法。
方法區
方法區與傳統語言中的編譯後代碼或是Unix進程中的正文段類似。它保存方法代碼(編譯後的java代碼)和符號表。在當前的Java實現中,方法代碼不包括在無用單元收集堆中,但計劃在將來的版本中實現。每個類文件包含了一個Java類或一個Java界面的編譯後的代碼。可以說類文件是Java語言的執行代碼文件。為了保證類文件的平台無關性,Java虛擬機規范中對類文件的格式也作了詳細的說明。其具體細節請參考Sun公司的Java虛擬機規范。
編輯本段虛擬機殺毒技術
虛擬機並不是新技術,目前微軟、JAVA等虛擬機都已經十分成熟,在一台電腦上安裝一個虛擬機和多個操作系統,已經成為許多評測人員和計算機病毒分析人員必需工作條件。而將虛擬機技術應用到殺毒方面,卻是一個殺毒業界一直在追求和探索的課題。 「虛擬機殺毒技術」即是在電腦中創造一個虛擬CPU環境,將病毒在虛擬環境中激活,根據其行為特徵,從而判斷是否是病毒。有專家認為,所謂虛擬機技術,就是用軟體先虛擬一套運行環境,讓病毒先在該虛擬環境下運行,從而觀察病毒的執行過程。這個技術主要用來應對加殼和加密的病毒,因為這兩類病毒在執行時最終還是要自身脫殼和解密的,這樣,殺毒軟體就可以在其「現出原形」之後通過特徵碼查毒法對其進行查殺。

熱點內容
適合搭建代理伺服器的雲 發布:2025-01-16 10:42:49 瀏覽:428
我的世界手機版伺服器怎麼注冊 發布:2025-01-16 10:41:30 瀏覽:614
小米雲電視伺服器 發布:2025-01-16 10:37:03 瀏覽:350
php開源wiki 發布:2025-01-16 10:27:19 瀏覽:189
sql加欄位備注 發布:2025-01-16 10:21:49 瀏覽:565
線割編程教程 發布:2025-01-16 10:21:03 瀏覽:18
谷歌瀏覽器緩存刪除 發布:2025-01-16 10:19:36 瀏覽:414
資料庫txt 發布:2025-01-16 10:16:41 瀏覽:457
小米賬號王者傳奇腳本掛機 發布:2025-01-16 10:07:25 瀏覽:917
Vs自帶的c反編譯器在哪找 發布:2025-01-16 10:06:42 瀏覽:56