上善若水.夏
051Android 虚拟机基本概念无标题文章
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
上善若水.夏
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
社区首页
>
专栏
>
051Android 虚拟机基本概念无标题文章
051Android 虚拟机基本概念无标题文章
上善若水.夏
关注
发布于 2018-09-28 11:20:00
383
0
发布于 2018-09-28 11:20:00
举报
文章被收录于专栏:
上善若水
android引入虚拟机,我想主要是考虑如下:
提供虚拟机对跨硬件平台好,只要维持好虚拟机与上下层的接口,上层应用可以不管底层的硬件区别。x86、arm架构的android手机都可以跑。
java的开发者更多,而且比原生的c++更容易掌握。
至于为什么每个程序运行在一个独立的虚拟中,我想是考虑
一个虚拟机中放入多个程序的话,还要考虑进程调度等,增加复杂度,和影响效率且没有什么好处。
android为每个程序提供一个vm,可以使每个app都运行在独立的运行环境,使稳定性提高
Android中Dalvik和JVM的区别是什么?
Dalvik基于寄存器,而JVM基于栈。基于寄存器的虚拟机运行效率更高。
Dalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,Dalvik专门针对同时高效运行多个虚拟机进行了优化,其代码在虚拟机的解释下得以执行。
Dalvik并未遵守jvm规范,两者也不兼容。jvm运行的是
Java
字节码(.class文件),Dalvik运行的是其专有的dex(Dalvik Executable)文件。dex文件格式可以减少整体文件尺寸,提高I/o操作的类查找速度。Dalvik虚拟机有自己的 bytecode,并非使用
Java
bytecode。
本文参与
腾讯云自媒体同步曝光计划
,分享自作者个人站点/博客。
原始发表:2017.01.20 ,如有侵权请联系
cloudcommunity@tencent.com
删除
前往查看
android
arm
java
jvm
本文分享自
作者个人站点/博客
前往查看
如有侵权,请联系
cloudcommunity@tencent.com
删除。
本文参与
腾讯云自媒体同步曝光计划
,欢迎热爱写作的你一起参与!
android
arm
java
jvm
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
文章
0
获赞
0
目录
android引入虚拟机,我想主要是考虑如下:
至于为什么每个程序运行在一个独立的虚拟中,我想是考虑
Android中Dalvik和JVM的区别是什么?
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐