В архитектуре DVM, где находится машинный код?
Искал стекпотока для ответа, но безрезультатно. По ссылке на этом сайте, как приложение Android выполняется на виртуальной машине Dalvik. Есть схема потока компиляции кода
Простой вопрос: где находится машинный код (или окончательный код или нативные инструкции)?
Является ли байт-код dalvik машинным кодом (окончательно преобразованный или скомпилированный код)?
Или есть еще один шаг компиляции?
Кроме того, где находится отслеженная JIT-компиляция в блоке? Это в DEX-компиляторе или в DVM?
Спасибо за ваше время.
1 ответ
Хорошо, думаю, нашли ответ.
1. Поток компиляции
Файл.java - предоставляется компилятору java - для создания файла.class.
все файлы.class - переданные инструменту - dx - для создания одного файла dex
файл dex - передается в - dvm - для генерации - окончательного машинного кода.
окончательный машинный код - передается - CPU - для выполнения.
2. JIT-компилятор - это функция JVM, которая компилирует куски инструкций JVM в собственный машинный код.
Если есть неправильное толкование, пожалуйста, сообщите в комментариях. Мы исправим ответ.
Спасибо за ваше время.