Dalvik虚拟机与java虚拟机的异同
来源:互联网 发布:知识产权 淘宝 编辑:程序博客网 时间:2024/04/19 14:45
转自各大百科
Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
对应的硬件
Dalvik和标准Java虚拟机(JVM)首要差别
Dalvik 基于寄存器,而 JVM 基于栈。
基于寄存器的虚拟机对于编译后变大的程序来说,在它们执行的时候,花费的时间更短。
Dalvik和Java运行环境的区别
1:Dalvik主要是完成对象生命周期管理,堆栈管理,线程管理,安全和异常管理,以及垃圾回收等等重要功能。
2:Dalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。
3:不同于Java虚拟机运行java字节码,Dalvik虚拟机运行的是其专有的文件格式Dex
4:dex文件格式可以减少整体文件尺寸,提高I/o操作的类查找速度。
5:odex是为了在运行过程中进一步提高性能,对dex文件的进一步优化。
6:所有的Android应用的线程都对应一个Linux线程,虚拟机因而可以更多的依赖操作系统的线程调度和管理机制
7:有一个特殊的虚拟机进程Zygote,他是虚拟机实例的孵化器。它在系统启动的时候就会产生,它会完成虚拟机的初始化,库的加载,预制类库和初始化的操作。如果系统需要一个新的虚拟机实例,它会迅速复制自身,以最快的数据提供给系统。对于一些只读的系统库,所有虚拟机实例都和Zygote共享一块内存区域。
0 0
- Dalvik虚拟机与java虚拟机的异同
- Java 虚拟机与 Dalvik 虚拟机的区别
- Dalvik虚拟机与Java虚拟机的区别
- 普通java虚拟机和dalvik在gc上的异同
- Dalvik虚拟机探析 java虚拟机和Dalvik虚拟机的区别
- android 学习--Dalvik虚拟机与Java虚拟机
- java虚拟机和Dalvik虚拟机的区别
- java虚拟机和Dalvik虚拟机的区别
- java虚拟机和Dalvik虚拟机的区别
- java虚拟机和Dalvik虚拟机的区别
- Dalvik虚拟机和Java虚拟机的区别
- Java虚拟机和Dalvik虚拟机的区别
- java虚拟机和Dalvik虚拟机的区别
- java虚拟机和Dalvik虚拟机的区别
- Java虚拟机Dalvik
- Android的Dalvik虚拟机与Java的JVM虚拟机之间的差异
- Android Dalvik虚拟机简述(与Java虚拟机的区别和简要的执行原理)
- Android安全与逆向之Java虚拟机和Dalvik虚拟机的区别
- c++类中重载输出和输入符号的时候如何处理枚举数据
- POJ2836
- OS X 10.9 Mavericks下如何安装Command Line Tools(命令行工具)
- C++ protected的访问权限问题
- C++中string总结
- Dalvik虚拟机与java虚拟机的异同
- hdu 4825
- Pat(Advanced Level)Practice--1081(Rational Sum)
- leetcode做题总结,题目Best Time to Buy and Sell Stock 2012/10/30
- 设计模式-适配器(Adaper)模式
- 关于dup和dup2函数的重定向与还原
- HDU 2163 Palindromes
- 集合(Map练习)
- 最短路径Ⅰ—Dijkstra算法