Введение

В этой статье приведены неполные списки виртуальных машин Java SE (JVM). Она не включает всех поставщиков Java ME. Следует отметить, что Java EE работает на стандартной JVM Java SE, но некоторые поставщики специализируются на предоставлении модифицированной JVM, оптимизированной для приложений Java EE. Большая часть разработки на Java ведется в операционных системах Windows, Solaris, Linux и FreeBSD, преимущественно с использованием JVM от Oracle. Также следует учитывать дополнительную сложность, связанную с различными 32-битными и 64-битными версиями. Основной эталонной реализацией JVM является HotSpot, разработанная корпорацией Oracle и многими другими крупными и средними компаниями (например, IBM, Red Hat, Microsoft, Azul, SAP).

Неактивный

Apache Harmony – поддерживает несколько архитектур и систем. Прекращено в ноябре 2011 года. Лицензия Apache 2.0. GCJ – компилятор Java GCC, который компилирует либо в байт-код, либо в машинный код. Начиная с GCC 7, gcj и связанная с ним библиотека времени выполнения libjava были удалены из GCC. IKVM.NET – Java для Mono и Microsoft .NET Framework. Использует OpenJDK. Лицензия Zlib. JamVM – разрабатывалась как крайне маленькая виртуальная машина. Использует GNU Classpath и OpenJDK. Поддерживает несколько архитектур. GPL. Последнее обновление 2014 года. JOP – аппаратная реализация JVM. GPL 3. Juice – экспериментальная JVM JavaME, разработанная для работы на операционной системе NUXI. Jupiter – использует сборщик мусора Boehm и GNU Classpath. GPL. Не поддерживается. Kaffe – использует GNU Classpath. GPL. Версия 1.1.9 выпущена 26 февраля 2008 года. Mika VM – предназначена для использования во встроенных устройствах. Кроссплатформенная. Лицензия в стиле BSD. NanoVM – разработана для работы на Atmel AVR ATmega8, используемом в Asuro Robot, может быть портирована на другие системы на основе AVR. SableVM – первая JVM с поддержкой JVMDI и JDWP. Использует GNU Classpath. LGPL. Версия 1.13 выпущена 30 марта 2007 года. Виртуальная машина Squawk – Java ME VM для встроенных систем и небольших устройств. Кроссплатформенная. GPL. SuperWaba – Java-подобная виртуальная машина для портативных устройств. GPL. Прекращена, заменена TotalCross. TakaTuka – для устройств беспроводных сенсорных сетей. GPL. TinyVM. VMKit LLVM. Wonka VM – разработана для работы на аппаратном обеспечении Acunia на основе ARM. Часть кода взята из GNU Classpath. Лицензия в стиле BSD. Больше не находится в активной разработке, заменена Mika VM.

Активный

Azul Platform Prime – полнофункциональная, высокопроизводительная виртуальная машина Java на основе OpenJDK, использующая сборщик мусора C4 и JIT-компилятор Falcon от Azul Systems. JamaicaVM (aicas) – виртуальная машина Java для систем реального времени с жесткими требованиями, предназначенная для встраиваемых систем.

Неактивный

Excelsior JET – лицензированная реализация Java SE с AOT-компилятором для Windows, OS X и Linux на Intel x86 и Linux на 32-битной платформе ARM. Jinitiator – разработан Oracle до приобретения Sun. Предназначен для улучшения поддержки Oracle Forms в веб-приложениях. JRockit (первоначально разработан Appeal Virtual Machines) – приобретен Oracle для Linux, Windows и Solaris. Mac OS Runtime для Java (MRJ). Виртуальная машина Java от Microsoft – прекращена в 2001 году.

Малоизвестные виртуальные машины Java

Blackdown Java был лицензированным портом реализации SunSoft для Linux. Он был прекращен в 2007 году после появления OpenJDK. Sun CVM – CVM изначально расшифровывалось как "Компактная виртуальная машина Java". Gemstone – модифицирован для поддержки функций Java EE (СУБД для приложений). Intent (Tao Group). PreonVM – виртуальная машина Java для встраиваемых систем и маломощных устройств с ограниченными ресурсами.