0

一直在寻找stackoverflow的答案,但无济于事。来自本网站的链接 如何在 Dalvik 虚拟机上执行 Android 应用程序。 有代码编译流程示意图

在此处输入图像描述

简单的问题是机器代码(或最终代码或本机指令)在哪里?

dalvik 字节码是机器码(最终转换或编译的代码)吗?

或者还有另一个编译步骤?

此外,跟踪的 JIT 编译出现在块中的什么位置?是在 DEX 编译器中还是在 DVM 中?

谢谢你的时间。

4

1 回答 1

0

好的认为已经找到了答案。

1.编译流程

.java 文件——交给——java 编译器——生成——.class 文件。

所有 .class 文件 -- 交给 -- dx 工具 -- 生成单个 -- dex 文件

dex 文件——交给——dvm——生成——最终的机器码。

最终的机器代码——交给——CPU——执行。

2. JIT 编译器是 JVM 的一项功能,可将 JVM 指令块编译为本机机器码。

如果有任何误解,请在评论中通知。将修复答案。

谢谢你的时间。

于 2017-03-29T08:40:24.077 回答