- 類(lèi)型:安全相關(guān)大。13.3M語(yǔ)言:中文 評(píng)分:7.0
- 標(biāo)簽:
立即下載
說(shuō)起
虛擬機(jī)我們很容易想起VMWARE,但之前還有個(gè)概念叫JAVA
虛擬機(jī),然而這2種虛擬機(jī)本質(zhì)上是大不相同的。那么什么叫虛擬機(jī)呢?“虛擬機(jī)”這個(gè)概念在實(shí)際應(yīng)用中有兩種語(yǔ)境。第一種是“虛擬主機(jī)”的概念,第二種是“運(yùn)行環(huán)境”的概念。這兩種概念是不同的。
1、虛擬主機(jī):,指的是操作系統(tǒng)內(nèi)安裝另一個(gè)操作系統(tǒng)。你如在Windows里,你可以裝一個(gè)VMWare,然后在VMWare里安裝一個(gè)Ubuntu Linux。這就是虛擬主機(jī)。Windows是一個(gè)操作系統(tǒng),是裝在硬件上的。VMWare是個(gè)軟件,它模擬了一個(gè)和硬件相似的環(huán)境,讓另一個(gè)操作系統(tǒng)可以安裝運(yùn)行在這個(gè)環(huán)境上。我們看Windows和Ubuntu Linux的關(guān)系,它們都是操作系統(tǒng),是一個(gè)級(jí)別的。這種關(guān)系就像媽媽肚子里懷的寶寶,寶寶生活在媽媽的肚子里,媽媽和寶寶都是人,是一種寄生關(guān)系。
2、運(yùn)行環(huán)境:“虛擬機(jī)”在做“運(yùn)行環(huán)境”講的時(shí)候,指的是操作系統(tǒng)被安裝一個(gè)支持其他軟件包運(yùn)行的軟件。最明顯的例子就是“Java虛擬機(jī)”。所謂“Java虛擬機(jī)”是一個(gè)安裝在操作系統(tǒng)上的軟件,用于支持用Java編程語(yǔ)言編寫(xiě)的軟件包的運(yùn)行。它負(fù)責(zé)給java程序分配資源,幫助java程序做一些底層的工作,讓java程序在它搭建的環(huán)境里運(yùn)行。這時(shí)Java虛擬機(jī)也是操作系統(tǒng)上的一個(gè)軟件,其他java如阿健要依賴(lài)它才能運(yùn)行。它是一個(gè)底層的支持環(huán)境。微軟有個(gè)仿照java架構(gòu)的開(kāi)發(fā)環(huán)境,即.NET Framework。這里就沒(méi)有使用“Virtual Machine(虛擬機(jī))”這個(gè)術(shù)語(yǔ),而是用了“Framework(框架)”。這兩個(gè)詞實(shí)際的意義是一樣的,都是Runtime Environment(RE,運(yùn)行時(shí)環(huán)境),但是可能Framework更容易理解。它就是一個(gè)框架,其他程序可以在這個(gè)框架的支持下運(yùn)行。現(xiàn)在除了技術(shù)界,Java官方對(duì)公眾也盡量使用JRE(Java Runtime Environment),而不是JVM(Java Virtual Machine)的概念了。
Android的架構(gòu)是第二種“虛擬機(jī)”。Android最底層是Linux操作系統(tǒng),在這個(gè)操作系統(tǒng)上安裝了一個(gè)叫Davilk的Java虛擬機(jī)。用Java編寫(xiě)的各種應(yīng)用在Davilk的支持下運(yùn)行。
云OS的架構(gòu)也是第二種“虛擬機(jī)”。云OS最底層是Linux操作系統(tǒng),在這個(gè)操作系統(tǒng)上安裝了一個(gè)阿里的Java虛擬機(jī)。用Java編寫(xiě)的各種應(yīng)用在該虛擬機(jī)的支持下運(yùn)行。
可見(jiàn),Android和云OS下運(yùn)行的都是JAVA程序,可以互相兼容。