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語言編寫的程序具有很好的健壯性。
Ⅱ android程序與Java程序的區別請詳細解釋一下,非常感謝!
android程序是Java編寫的,但程序使用的android開發的API,就是andriod的庫。簡單的例子,比如你在java中編寫1+1等於2這個程序,你並不需要編寫加發定律告訴電腦,但電腦卻能得出答案,你可能覺得這很自然,但其中加法定律的程序已經包含在java或c的庫里了,每次運行1+1=2計算機都會調用這個庫,但不需要讓你知道。andriod就是提供了這個功能,它不需要讓你知道java底層的編寫,因位很多常用的庫早就有人編寫了,你的任務就是熟悉這寫庫,直接調用他們,這樣就會大大的加快軟體的開發效率。聽人們都說andriod是java編寫,但初學java的人一看andriod程序直接蒙掉,這是java嗎?我有位朋友給我看andriod的Hello World時,我就直接蒙掉了。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有什麼區別
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》,書就不介紹了,總之是好書,是作者深刻思考過後寫出來的書,不像很多國內的書,只會這抄那抄。已經出到第四版了,不過比較厚,希望你有毅力持續學習。
Ⅵ 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作為開發語言原因有以下幾點:
1、Java是世界上使用人數最多的語言,所以更容易吸引開發者到Android生態里開發。
2、Java有一堆現成的開發工具,開發難度更小。
3、很多手機開發人員已經熟悉使用Java(Java ME),這個領域中,Java已為人所熟悉。
4、Java有內存管理,沒有指針。相對C、C++更安全,在手機中,安全性很重要!
5、因為Java跑在虛擬機上,可限制APP程序開發OS內核,以保證手機的安全性。
6、Java在編譯成JVM可運行的代碼後,不需要在多台不同手機(硬體設備)上重新編譯。手機硬體設備經常日新月異,所以這一點上也顯得格外重要。
7、和C、C++相比,APP在手機上的那一點速度差異並不是一個大問題,如果是的話,應該考慮使用匯編語言。
Ⅷ java和android的區別 面試題
兩者的區別:
1. Android是一個完備的移動裝備操縱體系,由linux操縱體系,中間件,C類庫和焦點應用措施構成。
2. java Me是java的一個微型版本,針對移動裝備開拓應用措施的開拓包,它必需有底層操縱體系支持。
兩者的接洽:
1. 都是用java說話編寫應用措施。
各自的上風:
1. Android的上風在於開拓性和開源,是一個優越的移動裝備操縱體系。
2. Java Me 是一個移動裝備軟體開拓包,跨平台是其首要特點。
Ⅸ Android開發和JAVA開發有什麼區別
Android開發是java開發的一個分支,android種的類庫有一部分和java類庫基本一致,也就是類名一致,不過java種的swing這些類庫在android種就沒有了,也就是說android種只用了java種的常用的類庫。