Android && Java 虚拟机

关于虚拟机,百度的答案是"虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统",这种概念不是很好懂,但总结起来虚拟机就是(计算机)系统,

java有JVM虚拟机,android自然有DalvikVM虚拟机,但是这个DVM虚拟机有系统卡顿的问题,Google推出了ART虚拟机用来解决这个问题,他们工作原理简单说一下,java的JVM虚拟机是把你的字节码文件转成机器码,这个字节码格式呢是.class,然后java虚拟机从文件里面获取想要的信息,这里的字节码文件会先被打包进jar文件夹,所以以后导入类可以下载jar文件。

说下机器码,他是系统能理解的语言,准确的是二进制码,为啥呢,电脑不是人,他跟电流有关,而电流只有开或关,对应计算机就是true或false。

然后是android的DalvikVM,源文件 => .class格式的字节码 => dex格式的文件,DVM跟java虚拟机原理相似,也是从dex格式的文件中获取相应的信息。dex格式文件打包进APK中。

ART虚拟机也是android虚拟机一种,所有跟DVM虚拟机原理相似。

这里补充一句,jar文件夹可以有多个.class文件,APK只有一个dex格式的文件,不过他们最终会被虚拟机编译成机器码被计算机"认识"。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极限学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值