标签:android系统 java虚拟机 roi app work javac 不同 bat .class
1:Android系统架构(重点)
分层的架构
JNI java native interface
1.application :应用层 ; java
2.application framework :应用框架层 , java+JNI
3.libraries 和 dalvik : 函数库和虚拟机层, c/c++
4.linux kernel : linux 内核驱动层, c
2:两种虚拟机的不同
版权问题:
jvm : java虚拟机 sun JVM: .java --> javac --> .class --> jar --> .jar
架构: 堆栈(栈是内存中的一块空间,需要cpu寻址)
dvm: dalvik虚拟机 google DVM: .java --> javac --> .class --> dx.bat --> .dex
架构: 寄存器(cpu上一块高速的缓存,无需寻址)
区别:
1.基于的架构不同,jvm 基于栈架构,栈是位于内存上的一个空间,执行指令操作,需要向cpu寻址;
dvm 基于寄存器架构,寄存器是cpu的一个组成部分,执行指令操作无需寻址直接执行。
2.执行文件的格式不同,jvm执行的是多个.class文件。 dvm执行的是一个.dex文件
标签:android系统 java虚拟机 roi app work javac 不同 bat .class
原文地址:http://www.cnblogs.com/DonAndy/p/6079310.html