安卓為什麼要用虛擬機而不直接
1. 安卓和linux是什麼關系安卓能運行Linux軟體為什麼說安卓是虛擬機環境虛擬機有什麼特點優
安卓一開始是使用的linux系統內核。linux操作系統內核,套上殼,加一些應用軟體,就是操作系統了。linux系統是用C語言寫的,被廣泛地移植到各種機器上。
虛擬機,就是一個虛擬的計算機硬體系統,有虛擬的CPU、指令集。運行時,將虛擬指令翻譯成實體機器指令執行。java語言就是運行的在虛擬機上的。使用虛擬機的好處,就是二進制代碼可以在任何實體機器上運行,真正跨平台;缺點是翻譯執行,效率比較低。
linux系統可以安裝在任何計算機、手機上面,移植比較簡單。但是應用軟體有限。
2. 安卓系統,為什麼要用虛擬機運行程序,為什麼不能做到蘋果系統那麼流暢呢,謝謝了
因為安卓機有上千家廠商,硬體結構不一構,註定無法採用統一的機器碼,所以只能使用虛擬機來處理。
3. 安卓當初為何要開發虛擬機,而不是直接在lunix上運行java代碼
為什麼需要JAVA虛擬機,因為cpu種類多操作系統也有好幾種,為了能夠實現程序一次編譯到處運行所以才弄出個JVM虛擬機來匹配各種操作系統和cpu,蘋果沒有虛擬機是因為他的cpu就只有A系列,他的程序也只能運行在蘋果機器上。
4. 安卓為什麼要用虛擬機,而不直接在Linux系統上運行程序
1、你搞錯了問題,Java是語言,Linux是平台,語言一定要依靠於某個平台來工作,而且說Java效率低是沒有依據的,現在最新的測試都不能證明Java效率慢,而且效率快慢還要看應用在什麼地方,你不能拿一億個數自己在那作加法然後比較哪個快,這是沒有意義的
2、和第一個問題差不多,不贅述。兼容性就是安裝了JVM的機器都可以跑Java程序
3、Linux被看中的根本不是效率,而是穩定性,一個項目可以在Linux上面跑了一年半載沒有問題,但是用Windows說不定明天早上就藍屏了你都不知道,客戶如果連接你的伺服器你的機器總藍屏,對於大型企業來說每重啟一次的成本是不可想像的
5. 安卓系統為什麼一定要藉助虛擬機來達到不同cpu的通用目的
藉助虛擬機,最大的好處是簡化了開發,比如安卓運行在x86之上和arm之上,只要安卓大版本一樣,那麼app的開發就是完全一樣的(除了個別用到具體硬體特性的功能),這對於開發人員非常有利,因為不需要考慮不同硬體帶來的差異,高通和華為海思這種同為arm的就更不在話下;
適配不同的硬體,主要問題是驅動程序的問題,這是在虛擬機這一層之下的,不至於說系統全部重寫,但你可以了解一下編寫驅動的難度,能寫驅動的人水平跟在虛擬機寫app的人的水平完全不在一個等級;
你的問法有問題,應該說是適配不同硬體,cpu只是其中一種硬體,其他的零部件都要去適配,就是2裡面說的寫驅動,安卓=linux內核+java虛擬機,不藉助虛擬機也可以做到適配不同硬體,但是,第一,這就不是安卓了,第二,無法做到app快速簡潔開發了,而且,安卓的體積會很恐怖,因為需要集成常見硬體的驅動,這個就好比是現在的windows,也是因為驅動不同,所以不同廠商,甚至同廠商不同型號手機的rom是無法通用的。
6. 安卓為什麼要使用虛擬機,執行java程序,而不直接使用Linux系統
因為本來Java在不同架構的CPU、不同操作系統上的開發就具有統一的優勢。
7. 沙盒比虛擬機運行效率更高,為何安卓系統卻不使用它
因為安卓系統佔用內部空間比較小,而且安卓採用的是Java技術,所以非常適合虛擬機的運行,而且能發揮出很高的效率。沙盒占空間比較大,但是內存佔用比較小,所以運行速度快,但是它是一個獨立的運行機制,所以對系統架構要求高。
虛擬機運行機制,它是運用自身的系統建立了一個虛擬的計算機世界,很多文件或者是第三方軟體,都可以在這個虛擬計算機世界裡運行,從而達到更多軟體的兼容性,而且操作起來也更為的方便。它也不會主動阻止第三方軟體修改系統文件,但是會通過動態指令發出操作界面,讓操作者自己選擇,所以時間長了會讓手機變得卡頓的原因,但是這種虛擬機運營機制非常適合安卓的Java技術。
8. 安卓為什麼比ios虛擬機
1.安卓與IOS的區別: 1、兩者運行機制不同:IOS採用的是沙盒運行機制,安卓採用的是虛擬機運行機制。 2、兩者後台制度不同:IOS中任何第三方程序都不能在後台運行;安卓中任何程序都能在後台運行,直到沒有內存...
2.安卓與IOS機制分析: iphone沙盒機制解釋 應用程序位於文件系統的嚴格限制部分,程序不能直接訪問其他應用程序。以殺毒軟體中...
3.其他方面分析: 軟體方面 蘋果的軟體靠ITUNES賺錢還需要相應的許可所以相對而言質量要...
9. 安卓,為何寧肯使用效率低的虛擬機也不使用效率更高的沙盒
我們都知道。安卓系統和iOS系統是兩個完全不同的系統。他們的運行機制也有很大的區別。蘋果的iOS系統運行機制為沙盒。而安卓系統的運行機制為虛擬機。而虛擬機的大小一般都要比沙盒系統大很多。
今天小編就說到這里,歡迎大家在評論區給我留言哦。
10. 安卓為什麼要用虛擬機,而不直接在Linux系統上運行程序
因為本來Java在不同架構的CPU、不同操作系統上的開發就具有統一的優勢。
Java是語言,Linux是平台,語言一定要依靠於某個平台來工作。
兼容性就是安裝了JVM的機器都可以跑Java程序。
Java虛擬機是為每個平台都提供的。也就是說,每一個平台都會編寫一個特定的Java虛擬機。
至於為什麼其他軟體不能運行在其他操作系統上,這個取決於底層的體系結構和介面 Linux和Windows的文件結構都不一樣,而且操作系統的架構相差特別多,而且底層的介面也是相差巨大,特別是在庫文件方面。
Android系統和Linux發行版的系統根本區別是Android上面只跑了一個Dalvik/ART,而Linux發行版上面跑了很多Dalvik/ART而已。
Java虛擬機是一個想像中的機器,在實際的計算機上通過軟體模擬來實現。Java虛擬機有自己想像中的硬體,如處理器、堆棧、寄存器等,還具有相應的指令系統。