В чем разница между DVM и JVM?

В чем разница между виртуальной машиной Java и виртуальной машиной Dalvik?

72
задан Thufir 23 April 2016 в 16:50
поделиться

2 ответа

Концептуально мало отличие от уровня приложения между DVM и JVM. В архитектурном плане имеется крупный разница между регистровыми DVM и JVM на основе стека.

Оба используют модель кода VM. Тем не менее DVM использует регистровые коды операций, которые сопоставимы с регистровыми инструкции байт-кода, которые большинство целевые платформы уже работают. Этот включает такие архитектуры, как доступны от ARM и MIPS, а также x86-совместимые архитектуры от Intel, AMD и VIA Technologies.

Google разработал Android и выбрал DVM по нескольким причинам. Во-первых, были проблемы с лицензированием для большинства JVM. Следующий, DVM должен быть более эффективным в условия использования памяти и производительности на машине на основе регистров. DVM - это также должен быть более эффективным при запуске нескольких экземпляров DVM. Заявки выдаются самостоятельно пример. Следовательно, несколько активных приложения требуют нескольких DVM экземпляры. Как и большинство Java реализациях, DVM имеет автоматический сборщик мусора.

Подробнее об этом

29
ответ дан 24 November 2019 в 12:42
поделиться

Архитектура jvm основана на стеках, в то время как архитектура dvm основана на регистрах. Машины на основе стека требуют больше инструкций (т.е. больший набор инструкций), чем машины на основе регистров для выполнения одной и той же задачи. С другой стороны, каждая инструкция в машинах на основе регистров больше.

7
ответ дан 24 November 2019 в 12:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: