androidjava
android是基於linux的開源操作系統。
linux是使用標准C語言開發的操作系統。
android底層驅動以及操作系統內核使用C語言以及匯編開發。
android操作系統本身是使用Java開發,並使用JNI調用本地的C語言庫,實現操作系統底層調度。
android應用是使用Java開發;同時也可以使用C/C++ native開發,但是多數時候不用用到C。所以基本上就是Java為標准開發語言。
android使用了修改過的JVM(Java虛擬機)叫做dalvik虛擬機,其本質還是Java虛擬機。
所以對應每一個APP都會創建個dalvik虛擬機,也就是一個linux進程。
說復雜了,其實就是基於linux下的修改版Java虛擬機,運行java程序。
㈡ Android開發和JAVA開發有什麼區別
Android開發是java開發的一個分支,android種的類庫有一部分和java類庫基本一致,也就是類名一致,不過java種的swing這些類庫在android種就沒有了,也就是說android種只用了java種的常用的類庫。
㈢ android和java的區別
android Java虛擬機和sun java虛擬機的主要區別體現在因為手機內存和硬體的限制,不可能直接將sun java虛擬機的機制搬過去,對於一些位元組、內存管理方面需要重新設計,一下是主要區別:
1、Dalvik 和標准 Java 虛擬機(JVM)
Dalvik 基於寄存器,而 JVM 基於棧。基於寄存器的虛擬機對於更大的程序來說,在它們編譯的時候,花費的時間更短。 JVM位元組碼中,局部變數會被放入局部變數表中,繼而被壓入堆棧供操作碼進行運算,當然JVM也可以只使用堆棧而不顯式地將局部變數存入變數表中。Dalvik位元組碼中,局部變數會被賦給65536個可用的寄存器中的任何一個,Dalvik指令直接操作這些寄存器,而不是訪問堆棧中的元素。
2、Dalvik 和 Java 位元組碼的區別
VM位元組碼由.class文件組成,每個文件一個class。JVM在運行的時候為每一個類裝載位元組碼。相反的,Dalvik程序只包含一個.dex文件,這個文件包含了程序中所有的類。Java編譯器創建了JVM位元組碼之後,Dalvik的dx編譯器刪除.class文件,重新把它們編譯成Dalvik位元組碼,然後把它們寫進一個.dex文件中。這個過程包括翻譯、重構、解釋程序的基本元素(常量池、類定義、數據段)。常量池描述了所有的常量,包括引用、方法名、數值常量等。類定義包括了訪問標志、類名等基本信息。數據段中包含各種被VM執行的函數代碼以及類和函數的相關信息(例如DVM所需要的寄存器數量、局部變數表、操作數堆棧大小),還有實例變數。
3、Dalvik 和 Java 運行環境的區別
Dalvik 經過優化,允許在有限的內存中同時運行多個虛擬機的實例,並且每一個Dalvik 應用作為一個獨立的Linux 進程執行。獨立的進程可以防止在虛擬機崩潰的時候所有程序都被關閉。
Dalvik虛擬機在android2.2之後使用JIT (Just-In-Time)技術,與傳統JVM的JIT並不完全相同,
Dalvik虛擬機有自己的 bytecode,並非使用 Java bytecode。
還有以下幾點:
1、Dalvik主要是完成對象生命周期管理,堆棧管理,線程管理,安全和異常管理,以及垃圾回收等等重要功能。
2、Dalvik負責進程隔離和線程管理,每一個Android應用在底層都會對應一個獨立的Dalvik虛擬機實例,其代碼在虛擬機的解釋下得以執行。
3、不同於Java虛擬機運行java位元組碼,Dalvik虛擬機運行的是其專有的文件格式Dex。
不過有一點是習慣了java語言開發的程序員,在android平台上同樣可以接著使用java的全部語法,只不過新增了很多知識點。
㈣ java與安卓是什麼關系
Java,是由Sun
Microsystems公司於1995年5月推出的Java程序設計語言和Java平台的總稱。用Java實現的HotJava瀏覽器(支持Java
applet)顯示了Java的魅力:跨平台、動態的Web、Internet計算。從此,Java被廣泛接受並推動了Web的迅速發展,常用的瀏覽器現在均支持Java
applet。 Android以Java為編程語言,使介面到功能,都有層出不窮的變化,其中Activity等同於J2ME的MIDlet,一個
Activity
類(class)負責創建視窗(window),一個活動中的Activity就是在
foreground(前景)模式,背景運行的程序叫做Service。兩者之間通過由ServiceConnection和AIDL連結,達到復數程序同時運行的效果。如果運行中的
Activity
全部畫面被其他
Activity
取代時,該
Activity
便被停止(stopped),甚至被系統清除(kill)。
View等同於J2ME的Displayable,程序人員可以通過
View
類與「XML
layout」檔將UI放置在視窗上,Android
1.5的版本可以利用
View
打造出所謂的
Widgets,其實Widget只是View的一種,所以可以使用xml來設計layout,HTC的Android
Hero手機即含有大量的widget。至於ViewGroup
是各種layout
的基礎抽象類(abstract
class),ViewGroup之內還可以有ViewGroup。View的構造函數不需要再Activity中調用,但是Displayable的是必須的,在Activity
中,要通過findViewById()來從XML
中取得View,Android的View類的顯示很大程度上是從XML中讀取的。View
與事件(event)息息相關,兩者之間通過Listener
結合在一起,每一個View都可以注冊一個event
listener,例如:當View要處理用戶觸碰(touch)的事件時,就要向Android框架注冊View.OnClickListener。另外還有Image等同於J2ME的BitMap。
㈤ 安卓和java有什麼區別
Android和Java的聯系
Android的應用層上的應用程序是用Java編寫的,以Java作為開發語言,但是,Java並不等同於Android,因為Android SDK引用了Java SDK的大部分,少數部分被Android SDK所拋棄。所以,要想從事Android的開發,就必須有Java基礎。
Android和Java區別
Android是主流智能手機的操作系統,Java是一種開發語言,兩者沒有好壞優勢之分,只是兩種職業崗位選擇,學安卓從事移動互聯方向開發,學Java從事軟體方向開發,主要看個人選擇,從學Java轉移到安卓,學安卓轉移到Java都是可以的。
Java和Android都能做手機開發嗎?
這兩個方面都是可以做手機開發的;在以前半智能機的時代,我們手機應用的最多的就是Java、塞班操作系統了,這兩個操作系統在三年以前應該和今天的安卓、IOS系統差不多,當時認為很完美了,不過時至今日,Java系統相對較少,隨著3G時代的到來,人們最重要的網路終端設備一定是手機,而移動終端設備中3G系統的Android手機又最多,Android手機又以Java為基礎,所以二者都可以說能做手機開發。
學Java和學Android哪個好?
現在安卓占智能系統大半的市場份額,當然智能系統或者是移動終端不僅僅是指手機,還有平板電腦。但是其實Java和Android這兩者並沒有可比性,因為發展方向並不一樣,側重點也不一樣,Java按照實際的開發產品來看,至少有三個方向可以發展;手機終端、電腦客戶端、web伺服器斷,而Android只適用於手機終端,因此Java的發展范圍相對要廣一些,也就是我們所說的工作崗位更多一些,而Android范圍小一些,但是從待遇上來看普遍稍高,各有各的好處,再說學習來看,從Android轉Java和從Java轉Android都是可以的,不管哪個行業都存在金字塔頂端的人,如果做好的話兩者都是不錯的方向。
希望對您有所幫助!~
㈥ Android與java的關系,不懂別瞎說
朋友,見你可能是以後的同行,我提點建議。
類似《java語言程序設計》之類的書籍,多如牛毛,隨便一個干過一年以上java相關技術的人都能編出這類書,太多了,所以對於剛入門朋友,可以說選什麼教材都差不多,也可以說選教材很重要。如果有毅力,有動力學習,那麼,知道個內容目錄,然後上網查查資料(網上一般都能更加快找到針對性的專題資料),多讀一些總結性的技術文章,絕對會比成天看一本書,只跟著書上抄來抄去的所謂例子提升的更加有質有量。當然,有一本系統的、入門的書籍,更好,只是,別只專在上面。
其實,學習一門程序設計語言,基本的東西是不多的,多些練習,會很快上手。「程序設計」或「軟體開發」是一門藝術,甚至一門哲學。到了一定的境界,才能理解一些東西。例如:為什麼那些天才的工程師要設計出這么一門語言?不是已經有C、C++之類的東西了么?它為什麼好?為什麼不好?
最後我就推薦一本書吧,二樓提到的《Think in Java》,書就不介紹了,總之是好書,是作者深刻思考過後寫出來的書,不像很多國內的書,只會這抄那抄。已經出到第四版了,不過比較厚,希望你有毅力持續學習。
㈦ android和linux,java有什麼關系
您好,提問者:
1、Linux底層是用C、g++等來實現的一個系統。
2、Android的底層是用C來搭建的,也就是基於Linux。
3、谷歌提供了很多Java和Android結合的jar包。
所以:現在大多數的apk文件都是基於Java編寫的,也就是J2ME技術。
㈧ java和android有區別哪個更好
Android和JAVA區別:
Android是主流智能手機的操作系統,JAVA是一種開發語言,兩者沒有好壞優勢之分,只是兩種職業崗位選擇,學安卓從事移動互聯方向開發,學JAVA從事軟體方向開發,主要看個人選擇,從學JAVA轉移到安卓,學安卓轉移到JAVA都是可以的。完美空間認為:從職業角度出發,想要快速從事軟體行業的開發,對大多數計算機不好的人員,安卓Android開發是最合適的選擇。
從整體來講,java和android的區別在於android程序是基於組件和配置的,而且android開發以java語言為開發工具,表面上看他們有點同宗不同門,但實際上區別十分大,android是一個主流智能手機操作系統,java是一種開發語言,兩者沒有好壞之分,而且兩者也是不同的崗位,從工作崗位來看,安卓從事的是移動互聯方向,java則是從事開發方向。
java和android都是可以做手機開發的;在以前半智能機的時代,手機應用的最多的就是java、塞班操作系統了,這兩個操作系統在三年以前應該和今天的安卓、IOS系統差不多,當時認為很完美了,不過時至今日,java系統相對較少,隨著3G時代的到來,人們最重要的網路終端設備一定是手機,而移動終端設備中3G系統的android手機又最多,android手機又以java為基礎,所以二者都可以說能做手機開發。
現在安卓能占智能系統的50%左右的市場份額,當然智能系統或者是移動終端不僅僅是指手機,因為從android3.0以後就開始應用於平板電腦了,android也是在快速的發展,從目前勢頭上來看,好像android要略勝一籌,但是其實這兩者並沒有可比性,因為發展方向並不一樣,側重點也不一樣,java按照實際的開發產品來看,至少有三個方向可以發展;手機終端、電腦客戶端、web伺服器斷,而android只適用於手機終端,因此java的發展范圍相對要廣一些,也就是我們所說的工作崗位更多一些,而android范圍小一些,但是從待遇上來看普遍稍高,各有各的好處,再說學習來看,從android轉java和從java轉android都是可以的,不管哪個行業都存在金字塔頂端的人,如果做好的話兩者都是不錯的方向。
㈨ Android開發和JAVA開發有什麼區別
Android開發和JAVA開發 是截然不同的兩個東西,就好比C語言只是一種概念你不能說他是vs studio的一種分支,因為C語言不是只能在vs studio上編譯運行,C還可以在TC和GCC等等編譯器上運行,Android和JAVA就是這種關系,你不應該問"Android開發和JAVA開發兩者有什麼區別"?你應該問Android為什麼要在JAVA上開發,Android不一定非要在JAVA上開發,任何編程語言都可以進行Android開發,包括C/C++ C# VBpython ,主流來講Android在JAVA上開發,是因為JAVA各方面優點更加適合Android的開發
跨平台,一次編譯到處運行,若你想要你的app在各種不同的平台設備上運行,那麼所採用的開發語言就必須跨平台
效率高,Java語法相對簡單,與C語言和C++語言很接近,但卻丟棄了C++很少使用的、很難理解的、令人迷惑的那些語言特性,雖然有時可能會出現運行效率不佳,但是開發效率比較高。而且C++中讓人頭疼的指針問題,垃圾回收,在JAVA完全不需要考慮,系統自動幫你完成
虛擬機,Java程序是運行在虛擬機上的,這就為許可權控制,崩潰隔離等問題打下了非常良好的基礎,這樣的話就算是一個程序崩潰了,往往也只是應用閃退而已,不容易造成系統的整體崩潰。
成熟,Java語言可以說是一個相當成熟的計算機編程語種,性能很好,用的人也超級多,除了基礎類庫完善,各種高級的第三方組件更是不計其數,更重要的是Java虛擬機規范是開放的,谷歌只要按照甲骨文的虛擬機規范很容易寫出一套虛擬機。
安全,由於Java語言經常被使用在網路環境中,為了增加其程序的安全性,Java語言提了一個防止惡意代碼攻擊的安全機制,另外Java的強類型機制、垃圾回收器、異常處理和安全檢查機制,也使得用Java語言編寫的程序具有很好的健壯性。
㈩ 請問java web和java android有什麼區別
java web 與java android 是兩個不同的領域。
1java web是java網路開發,一般是使用ssh框架構將網路項目。
2java android 則是利用java語言對android系統進行開發,android是移動平台的操作系統,對android的開發不僅包含單機開發,還囊括了網路開發。
兩者大體上是不同的,但是android的網路開發中部分包含了java webkai開發。