Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АСНИ.doc
Скачиваний:
47
Добавлен:
26.11.2019
Размер:
6.35 Mб
Скачать

Среда исполнения

Программы, предназначенные для запуска на JVM должны быть скомпилированы в стандартизированном переносимом двоичном формате, который обычно представляется в виде файлов .class. Программа может состоять из множества классов, размещенных в различных файлах. Для облегчения размещения больших программ, часть файлов вида .class могут быть упакованы вместе в так называемый .jar файл (сокращение от Java Archive).

Виртуальная машина JVM исполняет файлы .class или .jar, эмулируя инструкции, написанные для JVM, путем интерпретирования или использования just-in-time компилятора (JIT), такого, как HotSpot от Sun microsystems. В наши дни JIT компиляция используется в большинстве JVM в целях достижения большей скорости. Существуют также ahead-of-time компиляторы, позволяющие разработчикам приложений прекомпилировать файлы классов в родной для конкретной платформы код.

Как и большинство виртуальных машин, Java Virtual Machine имеет stack-ориентированную архитектуру, свойственную микроконтроллерам и микропроцессорам.

JVM, которая является экземпляром JRE (Java Runtime Environment), вступает в действие при исполнении программ Java. После завершения исполнения, этот экземпляр удаляется сборщиком мусора. JIT является частью виртуальной машины Java, которая используется для ускорения времени выполнения приложений. JIT одновременно компилирует части байт-кода, которые имеют аналогичную функциональность, и, следовательно, уменьшает количество времени, необходимого для компиляции.

  1. Виртуальная машина Parrot , используемая интерпретируемыми языками для эффективного исполнения байт-кода.

Parrot — виртуальная машина, используемая интерпретируемыми языками для эффективного исполнения байт-кода.

Parrot

Тип

виртуальная машина

Разработчик

The Perl Foundation

Операционная система

Кроссплатформенное программное обеспечение

Последняя версия

4.6.0 (16 июля 2012)

Тестовая версия

4.7.0 (22 августа 2012)

Лицензия

Artistic License и GNU GPL

Сайт

http://parrot.org  (англ.)

Parrot (пэррот или паррот; от англ. parrot — попугай) —виртуальная машина, используемая интерпретируемыми языками для эффективного исполнения байт-кода. Название происходит от первоапрельской шутки (англ.), когда было объявлено о создании нового языка, объединяющего Perl и Python.

Одной из важных причин для разработки новой виртуальной машины стало различие между языками со статическими и динамическими типами данных. Современные распространенные виртуальные машины, как, например Java VM и .NET CLR были разработаны для языков со статическими типами данных, тогда как языки, на поддержку которых нацелен Parrot используют динамические типы. Виртуальная машина Parrot основана на использованиирегистров, а не стека, так как, по мнению разработчиков, это увеличивает скорость и лучше отражает устройство современных процессоров.

Parrot будет являться основой интерпретатора Perl, а также целевой платформой для компиляции кодаPerl 6. Кроме реализованной части Perl 6, в байткод можно скомпилировать программы на других языках, включая APLBASICBefungeBrainfuckColaForthJakoLispm4MiniperlOok!Parakeet,OpenComalPHPPlotPhemePuniePythonRubySchemeSpanTclURM и YAL, но большая часть реализаций этих языков для Parrot неполна и находится в экспериментальном состоянии.