安卓更像是java的一個(gè)延伸開發(fā)平臺(tái),安卓是基于java語言進(jìn)行開發(fā)。的中間層多以Java實(shí)現(xiàn),并且采用特殊的虛擬機(jī)()。虛擬機(jī)是一種“暫存器型態(tài)”的Java虛擬機(jī),變量皆存放于暫存器中,虛擬機(jī)的指令相對(duì)減少。虛擬機(jī)可以有多個(gè)實(shí)例(),每個(gè)應(yīng)用程序都用一個(gè)自屬的虛擬機(jī)來運(yùn)行,讓系統(tǒng)在運(yùn)行程序時(shí)可達(dá)到優(yōu)化。虛擬機(jī)并非運(yùn)行Java字節(jié)碼(),而是運(yùn)行一種稱為dex格式的文件。上層是用java加上腳本寫的。
Android和Java語言的異同,關(guān)系和區(qū)別
Android更像是java的擴(kuò)展開發(fā)平臺(tái)。Android是基于java語言開發(fā)的。將發(fā)布一系列核心應(yīng)用包,包括客戶端、SMS短消息程序、日歷、地圖、瀏覽器、聯(lián)系人管理器等。的所有應(yīng)用程序都是用JAVA語言編寫的。的中間層大部分是用Java實(shí)現(xiàn)的,使用了一個(gè)特殊的虛擬機(jī)()。虛擬機(jī)是一個(gè)“臨時(shí)內(nèi)存類型”()的Java虛擬機(jī),其中存儲(chǔ)了變量,虛擬機(jī)的指令相對(duì)減少。虛擬機(jī)可以有多個(gè)實(shí)例(),每個(gè)應(yīng)用程序都由自己的虛擬機(jī)運(yùn)行,這樣在運(yùn)行程序時(shí)可以優(yōu)化系統(tǒng)。虛擬機(jī)不運(yùn)行Java字節(jié)碼(),而是運(yùn)行一個(gè)名為。dex格式。
android是java開發(fā)的嗎
是分層的。上層是用java加腳本寫的。底層全是c .內(nèi)核用的。是的。因?yàn)樯蠈邮莏ava開發(fā)的。所以兼容性很好。你可以用各種語言開發(fā)應(yīng)用程序,但是大多數(shù)應(yīng)用程序都是用java開發(fā)的,因?yàn)橛胘ava開發(fā)非常簡(jiǎn)單。
為什么當(dāng)年android選擇用java做開發(fā)語言
第一,Java是跨平臺(tái)語言,二進(jìn)制跨平臺(tái),不需要重新編譯。不管目標(biāo)平臺(tái)的架構(gòu)是什么,只要有JVM就可以運(yùn)行,這是C++做不到的。它經(jīng)常需要重新編譯,所有的依賴庫都必須在目標(biāo)平臺(tái)上。第二,Java的開發(fā)效率比C++高。Java語法比較簡(jiǎn)單,雖然運(yùn)行效率差,但是開發(fā)效率比較高。它的垃圾收集、異常處理、無指針等特性讓普通程序員更容易開發(fā)出相對(duì)健壯的程序。第三,有天然的沙盒機(jī)制。因?yàn)镴ava程序運(yùn)行在虛擬機(jī)上,為權(quán)限控制、崩潰隔離等問題打下了良好的基礎(chǔ)。即使一個(gè)程序崩潰,也往往只是應(yīng)用閃退,不容易造成整個(gè)系統(tǒng)崩潰。第四,用Java的人很多,用C++的人也很多,但是Java還是相對(duì)更多。使用Java的開發(fā)者更容易成為開發(fā)者,這一點(diǎn)在一開始生態(tài)系統(tǒng)沒有建立起來的情況下尤為重要。
大學(xué)讀軟件開發(fā),準(zhǔn)備實(shí)習(xí),做Java后端開發(fā)還是Android開發(fā)好?哪個(gè)前景比較大?
感覺發(fā)展前景不錯(cuò)。現(xiàn)在越來越多的企業(yè)重視移動(dòng)終端的開發(fā),而手機(jī)應(yīng)用的主流是ios,所以如果你能掌握移動(dòng)終端開發(fā)的技術(shù),會(huì)有更大的發(fā)展空間。個(gè)人認(rèn)為?。?!