854
京東網上商城
《深入解析Android 虛擬機》——第2章 Java虛擬機基礎 2.1虛擬機的作用
本節書摘來自異步社區《深入解析Android 虛擬機》一書中的第2章,第2.1節,作者:鍾世禮著,更多章節內容可以訪問雲棲社區“異步社區”公眾號查看
第2章 Java虛擬機基礎
Java虛擬機和Android虛擬機十分相似,所以在本書中將以Java虛擬機開始,逐步引領廣大讀者步入Android虛擬機的世界。在本章的內容中,將簡要講解Java虛擬機技術的基本知識,為讀者步入本書後麵知識的學習打下基礎。
2.1 虛擬機的作用
虛擬機(Virtual Machine)這一概念最初由波佩克與戈德堡定義,是指通過軟件模擬的具有完整硬件係統功能的、運行在一個完全隔離環境中的完整計算機係統。由此可見,虛擬機是跟特定硬件無關的一個係統。在現實應用中,虛擬機最常見的情形便是雙係統。例如計算機原裝係統是Windows,為了在這台機器上能夠體驗Linux係統,可以安裝一個虛擬機環境,在這個虛擬機環境中運行Linux係統,這樣就實現了“一機雙係統”的功效。在現實應用中,通過虛擬機軟件可以在一台物理計算機上模擬出一台或多台虛擬的計算機。這些虛擬機完全可以像真正的計算機那樣進行工作,例如可以安裝操作係統、安裝應用程序、訪問網絡資源等等。對於使用用戶而言,虛擬機隻是運行在物理計算機上的一個應用程序。但是對於在虛擬機中運行的應用程序來說,虛擬機就是一台真正計算機。正因為如此,所以當在虛擬機中進行軟件評測時,可能會發生係統崩潰的情形。但是這裏崩潰的隻是虛擬機上的操作係統,而不是物理計算機上的操作係統。可以使用虛擬機的“Undo”(恢複)功能,立即恢複虛擬機到安裝軟件之前的狀態。
虛擬機根據它們的運用以及與直接機器的相關性分為兩大類。係統虛擬機提供一個可以運行完整操作係統的完整係統平台;相反,程序虛擬機為運行單個計算機程序設計,這意謂它支持單個進程。虛擬機的一個本質特點是運行在虛擬機上的軟件被局限在虛擬機提供的資源裏——它不能超出虛擬世界。
在現實應用中,對於一般計算機用戶來說,最常見的使用虛擬機的情形是安裝雙係統。例如在Windows平台上安裝一個虛擬機,然後在這個虛擬機中安裝Linux操作係統或iOS係統,這樣就實現了雙係統功能。
在當前流行的編程語言Java中,便是采用了虛擬機機製,Java的虛擬機被稱為Java Virtual Machine,縮寫為JVM。用Java編寫的程序可以通過對Java運行環境(JRE)軟件發出命令獲得服務,取得期望的結果。透過提供這種服務,JRE起到了虛擬機的作用,程序不必為特定的操作係統或硬件編寫。
Java虛擬機和Android虛擬機十分相似,所以在本書中將以Java虛擬機開始,逐步引領廣大讀者步入Android虛擬機的世界。
最後更新:2017-06-10 23:32:07
上一篇:
淺析分布式係統中的 Linearizability
下一篇:
萬元大獎邀您參與阿裏雲數加 MaxCompute最佳實踐征文大賽
[轉] 公司使用SpringMVC的RESTful接口的坑
Fragments的初識---不知道Fragments的不是合格的android開發
android軟件開發之webView.addJavascriptInterface循環漸進【一】
穀歌員工吐槽:人生不如意十之八九 在穀歌工作也不容易
【持續更新】上海雲棲大會,阿裏雲都重磅發布了啥?重要消息一文薈萃!
連載:麵向對象葵花寶典:思想、技巧與實踐(22) - 領域模型
jquery序列化表單 - serialize()/serializeArray()/param()區別
日誌采集框架Flume、Flume介紹、概述、運行機製、Flume采集係統結構圖(1、簡單結構、複雜結構)
IE 再爆 0day 漏洞,9和10版本不受影響
業餘草總結常見計算廣告點擊率預估算法