Battery DoctorHungry Shark EvolutionГоворящий РыжикМоя говорящая АнджелаBio IncEvernote

Что такое Виртуальная машина Dalvik (Dalvik VM)

Раздел: Статьи

( 2 Голоса (ов) ) 

Dalvik Virtual Machine


Не секрет что, приложения под платформу Android представляют из себя программы для виртуальной машины Dalvik. О Dalvik VM мы и поговорим в этой статье.

Dalvik Virtual Machine является необходимой частью мобильной платформы Андроид. Это виртуальная машина, разработчиком которой является Dan Bornstein. Dalvik VM распространяется как свободное программное обеспечение под GPL-совместимой лицензией Apache 2.0. Во многом именно этот фактор сыграл свою важную роль в решении Гугл отказаться от JME (Java Micro Edition), на которую нужно было получать лицензию от Sun. Поэтому корпорация, главной целью которой была разработка открытой операционной системы, создала свою собственную виртуальную машину.

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

arm

Dalvik задумывалась специально под платформу Андроид. Учитывался тот фактор, что платформа представляет все свои процессы как изолированные, выполняющиеся каждый в своём адресном пространстве. Виртуальная машина была оптимизирована для небольшого потребления памяти и работы на мобильном аппаратном обеспечении. Начиная с версии Android 2.2., Dalvik использует JIT (just-in-time) компиляцию. В результате таких особенностей, получилась очень быстрая и производительная виртуальная машина, что конечно же не может не сказываться на работе приложений в целом.

Dalvik Virtual Machine использует свой собственный байт-код. При разработке приложения под Android переводятся компилятором в специальный машинно-независимый низкоуровневый код. При выполнении на платформе именно Dalvik Virtual Machine интерпретирует и выполняет такую программу.

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





Поиск по сайту