»
首页
|
手机数码
|
汽车资讯
|
游戏硬件
|
评测专题
|
手机壁纸
|
海淘值得买
|
度假
|
求职招聘
|
广告联系
» 您尚未登录:请
登录
|
注册
|
标签
|
帮助
|
小黑屋
|
TGFC Lifestyle
»
完全数码讨论区
» 安卓虚拟机是什么意思?
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
[其他]
安卓虚拟机是什么意思?
安卓爱好者
大侠
帖子
513
精华
0
积分
516
激骚
-10 度
爱车
主机
相机
手机
注册时间
2017-3-11
发短消息
加为好友
当前离线
1
#
大
中
小
发表于 2017-6-28 18:50
显示全部帖子
posted by wap, platform: iPhone
好像是因为安卓基于Java虚拟机。
UID
248880
帖子
513
精华
0
积分
516
交易积分
0
阅读权限
20
在线时间
262 小时
注册时间
2017-3-11
最后登录
2019-4-26
查看详细资料
TOP
安卓爱好者
大侠
帖子
513
精华
0
积分
516
激骚
-10 度
爱车
主机
相机
手机
注册时间
2017-3-11
发短消息
加为好友
当前离线
2
#
大
中
小
发表于 2017-7-1 13:08
显示全部帖子
posted by wap, platform: iPhone
槽点很多嗯。
ART本质上仍然是一个Java虚拟机。它所支持的Dalvik指令集跟之前Dalvik VM所支持的一样,而该指令集是JVM指令集的一种机械映射,两个指令集之间高度对应。
ART当然还支持JNI。它对JNI的支持主要在源码的runtime/jni_*文件里实现,例如 runtime/jni_internal.cc。
ART虽然主要通过AOT编译支持Java的运行,但仍然带有解释器。
ART会自动选择一部分Java方法使用AOT编译的方式,在程序执行前就编译生成好相应的机器码,到真的运行时只需要执行那些机器码即可;但是没有被选上做AOT编译的Java方法则仍然需要由解释器来执行。
解释器的实现在 runtime/interpreter。最近还多了个用汇编写的优化版解释器,在 runtime/interpreter/mterp ,本质上就是把Dalvik VM的汇编写的解释器移植到了ART上。
另外ART其实从一开始就有计划支持JIT编译,只是最初发布的时候还没做到这块。现在的代码已经开始有一些初步实现了,其接口代码在 compiler/jit 。
至于ART上能不能用Java以外的编程语言,基本上原本Dalvik支持什么ART就支持什么——不想要Java的话其它JVM语言许多都能行,Groovy、Clojure、Scala啥的嗯。
UID
248880
帖子
513
精华
0
积分
516
交易积分
0
阅读权限
20
在线时间
262 小时
注册时间
2017-3-11
最后登录
2019-4-26
查看详细资料
TOP
安卓爱好者
大侠
帖子
513
精华
0
积分
516
激骚
-10 度
爱车
主机
相机
手机
注册时间
2017-3-11
发短消息
加为好友
当前离线
3
#
大
中
小
发表于 2017-7-1 13:11
显示全部帖子
posted by wap, platform: iPhone
安卓从其诞生起就赋予了虚拟机的伟大基因,与生俱来的东西怎么可能丢弃?个别安卓爱好者可不要数典忘祖啊。
UID
248880
帖子
513
精华
0
积分
516
交易积分
0
阅读权限
20
在线时间
262 小时
注册时间
2017-3-11
最后登录
2019-4-26
查看详细资料
TOP
控制面板首页
密码修改
积分交易
积分记录
公众用户组
基本概况
版块排行
主题排行
发帖排行
积分排行
交易排行
在线时间
管理团队
管理统计