051Android 虚拟机基本概念无标题文章

android引入虚拟机,我想主要是考虑如下:

  1. 提供虚拟机对跨硬件平台好,只要维持好虚拟机与上下层的接口,上层应用可以不管底层的硬件区别。x86、arm架构的android手机都可以跑。
  2. java的开发者更多,而且比原生的c++更容易掌握。

至于为什么每个程序运行在一个独立的虚拟中,我想是考虑

  1. 一个虚拟机中放入多个程序的话,还要考虑进程调度等,增加复杂度,和影响效率且没有什么好处。
  2. android为每个程序提供一个vm,可以使每个app都运行在独立的运行环境,使稳定性提高

Android中Dalvik和JVM的区别是什么?

  1. Dalvik基于寄存器,而JVM基于栈。基于寄存器的虚拟机运行效率更高。
  2. Dalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,Dalvik专门针对同时高效运行多个虚拟机进行了优化,其代码在虚拟机的解释下得以执行。
  3. Dalvik并未遵守jvm规范,两者也不兼容。jvm运行的是Java字节码(.class文件),Dalvik运行的是其专有的dex(Dalvik Executable)文件。dex文件格式可以减少整体文件尺寸,提高I/o操作的类查找速度。Dalvik虚拟机有自己的 bytecode,并非使用 Java bytecode。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编码小白

Ofbiz模块加载机制即创建独立模块(脱离热部署)

一般我们在ofbiz下的hot-deploy下直接创建模块组件就可以进行访问,但是我觉得文件过多话,就不方便管理,所以我们可以分离出来单独建立一个文件模块...

33450
来自专栏后端技术探索

Nginx从听说到学会(3.进程模型)

众所周知,nginx性能高,而nginx的高性能与其架构是分不开的。那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧。

10320
来自专栏kalifaの日々

解决IE浏览器中邮箱附件点击打开之后保存找不到

我的qq打开邮箱的时候会默认启用IE这个丑陋的老家伙。我在QQ邮箱中点击下载附件,IE浏览器会弹出一个选项框:打开OR保存。选择打开,和选择保存看到的界面似乎没...

509100
来自专栏Jay的后台开发笔记

简单的linux系统配置故障定位与排除

本文旨在通过一些常用命令的用法示例,让有一定linux基础的开发同学能对系统进行简单配置,也能够上服务器定位或者解决一些简单基础性的问题,做出初步故障排除,或者...

31660
来自专栏极客慕白的成长之路

搭建自己的Git服务器

搭建Git服务器   让我们先看下服务器端SSH访问的配置。在这个例子中,我们使用authorized_keys的方法认证用户。我们假设你的服务器是一个标...

24710
来自专栏实用工具入门教程

如何搭建微信订阅号后台服务

微信公众号后台自带的功能可能有时不能满足我们的需要,这时候我们就需要搭建自己的服务端。本实验带您从零开始,基于 NodeJS 搭建起一个可以支撑微信订阅号自动回...

2K40
来自专栏测试驿栈

Linux内存机制以及手动释放swap和内存

我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念...

52830
来自专栏ccylovehs

mysql启动报错The server quit without updating PID file

修改datadir=/var/lib/mysql     -- linux中mysql安装的默认路径

18.4K10
来自专栏HansBug's Lab

【gitlab】gitlab快速部署教程

下载页面: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/xenial/main/g/g...

39810
来自专栏Rainbond开源「容器云平台」

好雨云帮每周更新日志(2017.02.13~2017.02.19)

12550

扫码关注云+社区

领取腾讯云代金券