Dalvik


Dalvik — регистровая виртуальная машина для выполнения программ, написанных на языке программирования Java, созданная группой разработчиков Google во главе с Дэном Борнштейном (англ. Dan Bornstein). Входит в мобильную операционную систему Android.

Dalvik оптимизирован для низкого потребления памяти, это нестандартная регистр-ориентированная виртуальная машина, хорошо подходящая для исполнения на процессорах RISC-архитектур, часто используемых в мобильных и встраиваемых устройствах, таких как коммуникаторы и планшетные компьютеры (большинство виртуальных машин, используемых в настольных системах, является стек-ориентированным, включая стандартную виртуальную машину Java, принадлежащую Oracle).

Программы для Dalvik пишутся на языке Java. Несмотря на это, стандартный байт-код Java не используется, вместо него Dalvik исполняет байт-код собственного формата. После компиляции исходных текстов программы на Java (при помощи javac) утилита dx из Android SDK преобразует файлы классов (расширение .class) в файлы собственного формата (с расширением .dex), которые и включаются в пакет приложения (.apk).

В версиях, начиная с Android 4.4 Kitkat, имеется возможность переключиться с Dalvik на более быстрый ART (Android Runtime). В Android 5.0 Dalvik был полностью заменён на ART.