如题所述
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çå ¨é¨è¯æ³ï¼åªä¸è¿æ°å¢äºå¾å¤ç¥è¯ç¹ã
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çå ¨é¨è¯æ³ï¼åªä¸è¿æ°å¢äºå¾å¤ç¥è¯ç¹ã
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2018-05-12
java是一门编成语言,而android时一个基于linux内核的手机操作系统。
两者的关系在于,用java语言可以编写出应用程序安装在android,这也是现在java语言就业的一个方向。本回答被提问者和网友采纳
两者的关系在于,用java语言可以编写出应用程序安装在android,这也是现在java语言就业的一个方向。本回答被提问者和网友采纳
第2个回答 2020-06-08
联系
Android属于操作系统中的一个文件系统,Android上有一个虚拟机可以执行使用JAVA编写的软件程序
区别:
Android是主流智能手机的操作系统,Java是一种开发语言
安卓Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。安卓系统是基于linux为核心的,而linux是用c语言和少量汇编语言写成的。
但是呢,安卓应用程序开发是以Java语言为基础的
Android属于操作系统中的一个文件系统,Android上有一个虚拟机可以执行使用JAVA编写的软件程序
区别:
Android是主流智能手机的操作系统,Java是一种开发语言
安卓Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。安卓系统是基于linux为核心的,而linux是用c语言和少量汇编语言写成的。
但是呢,安卓应用程序开发是以Java语言为基础的
第3个回答 2014-10-27
其实你可以把android看成是Java扩展,语法基本一致。android是运行在手机上面的,只是类库不同,android有自己的工具库,但是用法都是一样的