Dalvik

Dalvik
ТипВіртуальна машина
АвторDan Bornstein
ПлатформаAndroid
Операційна системаЯдро Linux
ЛіцензіяApache License
Репозиторійandroid.googlesource.com/platform/dalvik
Вебсайтcode.google.com/p/dalvik/

Dalvik — заснована на регістрах віртуальна машина, створена Деном Борнштейном та іншими, як частина мобільної платформи Android.

Рибальське селище Далвік в Ісландії

Ден Борнштейн назвав віртуальну машину ім'ям рибальського селища Далвік північній Ісландії, звідки походить частина його предків[1][2].

Dalvik оптимізований для низького споживання пам'яті, це нестандартна регістр-орієнтована віртуальна машина, яка добре підходить для виконання на RISC-архітектурах процесорів, котрі часто використовуються у мобільних та вбудованих пристроях, таких, як комунікатори й планшетні комп'ютери. Більшість віртуальних машин, що використовуються на десктопах, є стек-орієнтованими, включаючи стандартну віртуальну машину Java від Sun/Oracle.

Програми для Dalvik пишуться на мові Java. Попри це, стандартний байт-код Java не використовується, замість нього Dalvik VM виконує байт-код власного формату. Після компіляції сирцевих текстів програми на Java (за допомогою javac) утиліта dx з «Android SDK» перетворює .class файли у формат .dex, придатний для інтерпретації в Dalvik.

З бібліотек класів Dalvik не застосовує ані Java SE, ані Java ME Class Library[3][4] (в тому числі, класи Java ME, AWT та Swing не підтримуються). Замість цього використовується своя власна бібліотека[5], побудована на підмножині Java-реалізації Apache Harmony.

Виноски

  1. Journal entry. Архів оригіналу за 11 січня 2016. Процитовано 6 жовтня 2010.
  2. Google Calling: Inside Android, the gPhone SDK. onlamp.com. Архів оригіналу за 10 січня 2017. Процитовано 5 лютого 2008.
  3. Google's Android SDK Bypasses Java ME in Favor of Java Lite and Apache Harmony. infoq.com. 12 листопада 2007. Архів оригіналу за 8 липня 2013. Процитовано 31 травня 2009. Instead of providing a full version of the Java SE or Java ME Google has diverged on two fronts. First, a limited subset of the core Java packages is provided. (...) By going this route Android is following in the footsteps of another Google project GWT which uses Java as its development language but does not support the full JDK.
  4. Alternative to Point2D. Droid Tutorials. 12 лютого 2010. Архів оригіналу за 8 липня 2013. Процитовано 17 лютого 2010. Given that AWT is not supported in Android API, the Point2D class, which is useful for writing 2D graphics, is missing either.
  5. Package Index. Open Handset Alliance. Архів оригіналу за 8 липня 2013. Процитовано 31 травня 2009.

Див. також

Посилання