安卓為什么用Java語言不用C語言?
我做移動互聯開發多年,也做過不少大大小小的Android項目,所以我來回答一下這個問題。
眾所周知,Google選擇了Java語言作為Android平臺的開發語言,而且并沒有使用Oracle公司的JVM,而是自己寫了獨立的編譯器(DVM)。而且DVM與JVM的區別還是比較明顯的,JVM是基于棧的,而DVM是基于寄存器的,所以從速度上來說,DVM理論上要更快一些。另外,JVM執行的是class文件,而DVM執行的是dex文件,這就說明JVM與DVM在執行的字節碼方面也是不同的。
從這些區別上來看,Google對Java的改造還是比較大的,只是在語法上保留了Java語言的規則。在我看來,Google為安卓平臺選擇Java語言有以下幾個方面的原因:
第一,Java語言有較為廣泛的程序員基礎。由于目前Java語言的應用領域十分廣泛,所以使用Java語言能迅速建立龐大的開發群體。
第二,Java語言的生態比較健全。Android平臺的功能越來越強大,這就需要有一個能與之匹配的編程語言,而編程語言自身的生態就顯得比較重要的,而Java語言的生態環境是比較健全的。
目前我們在實際的開發過程中發現,用Java語言的Android平臺在某些性能指標上,明顯要優于iOS平臺。比如大列表的裝載問題,Android平臺是沒有問題的,但是同樣的操作在iOS系統下就會出現崩潰的問題。
我的研究方向是大數據和人工智能,目前也在帶大數據方向的研究生,我會陸續在頭條上寫一些關于大數據方面的文章,感興趣的朋友可以關注我的頭條號,相信一定會有所收獲。
如果有軟件開發方面的問題,或者是考研方面的問題,也可以咨詢我。
謝謝!