Java基础之Dalvik和JVM的认识
来源:互联网 发布:电商淘宝培训 编辑:程序博客网 时间:2024/06/01 10:44
先介绍两个名词的意思:
寄存器:CPU内部用来存放数据的一些小型存储区域
栈:内存….内分分为堆和栈
想知道更多可以看看下面文章
栈式虚拟机和寄存器式虚拟机的对比
为什么寄存器比内存快?
在说Dalvik和JVM区别我觉得区别就在一个是Dalvik 基于寄存器,而 JVM 基于栈,出生不同决定以后用处不同
程序运行过程
- Java类会被编译成一个或者多个字节码文件(.class)然后打包到JAR文件
- Java虚拟机会从相应的CLASS文件和JAR文 件中获取相应的字节码
- 通过一个工具(dx)将应用所有的 CLASS文件转换成一个DEX文件
- Dalvik虚拟机会从其中读取指令和数据
从这个流程中可以看出最后还是Dalvik运行,特定的格式(dex)让他运行速度更快,据说也因为离CPU更近他更快….
因为内存如果不使用的话就会没电,进行停止,所以不好在栈中做很多控制,所以只能在在寄存器中做很多控制
最后的区别
- Dalvik 基于寄存器,而 JVM 基于栈。基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短。
- Dalvik主要是完成对象生命周期管理,堆栈管理,线程管理,安全和异常管理,以及垃圾回收等等重要功能。
- Dalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。
- 不同于Java虚拟机运行java字节码,Dalvik虚拟机运行的是其专有的文件格式Dex,ex文件格式可以减少整体文件尺寸,提高I/o操作的类查找速度。
- 所有的Android应用的线程都对应一个Linux线程,虚拟机因而可以更多的依赖操作系统的线程调度和管理机制
阅读全文
0 0
- Java基础之Dalvik和JVM的认识
- JVM之Dalvik和ART的区别
- DVM和JVM(Dalvik VM和Java VM)的区别
- Dalvik和JVM的区别
- JVM和Dalvik的区别
- Dalvik和JVM的区别?
- JVM和Dalvik的区别
- Dalvik和JVM的区别
- Dalvik和JVM的区别
- dalvik和Jvm的区别
- JVM和Dalvik的区别
- 面试问题之:Dalvik VM和JVM的区别(1)
- Dalvik VM (DVM) 和Java VM (JVM)之间的区别
- Dalvik VM (DVM) 和Java VM (JVM)之间的区别
- Dalvik和JVM的几点区别
- Dalvik VM和JVM的区别
- Dalvik VM 和 JVM 的比较
- Dalvik VM 和 JVM 的比较
- coding coffee HTML文档
- 运维之python篇------2.斐波那契数列、模拟cp操作、生成8位随机密码
- 自动化安装
- 小Tips
- [2007CQOI]余数求和——除法分块
- Java基础之Dalvik和JVM的认识
- JVM分析
- 京东成武林魔头?几十家店铺因被侵害经营集体退出京东
- 第三章 虚拟机性能监控与故障处理工具
- android fat-aar.gradle中文注释
- Visual Studio 2017的离线安装包下载和安装
- 使用selenium中的driver.close()函数
- android中异常oom和memory leak
- vue项目-搭建(1)