Lista wirtualnych maszyn Java
Ten artykuł zawiera niewyczerpujące listy maszyn wirtualnych Java SE Java (JVM). Nie obejmuje wszystkich Java ME . Należy zauważyć, że Java EE działa na standardowej JVM Java SE, ale niektórzy dostawcy specjalizują się w dostarczaniu zmodyfikowanej JVM zoptymalizowanej pod kątem aplikacji Java EE. Wiele prac programistycznych w języku Java odbywa się w systemach Windows , Solaris , Linux i FreeBSD , głównie przy użyciu maszyn Oracle JVM. Zwróć uwagę na dalsze komplikacje związane z różnymi wersjami 32-bitowymi / 64-bitowymi odmiany.
Podstawową referencyjną implementacją Java VM jest HotSpot , produkowany przez Oracle Corporation oraz wiele innych dużych i średnich firm (np. IBM , Redhat , Microsoft , Azul , SAP ).
Darmowe i otwarte implementacje
Aktywny
- Nazwa kodowa One – wykorzystuje ParparVM o otwartym kodzie źródłowym
- Eclipse OpenJ9 - open-source od IBM J9, dla AIX, Linux (x86, Power i Z), macOS, Windows, MVS, OS/400, Pocket PC, z/OS.
- GraalVM – jest oparty na HotSpot/OpenJDK, posiada funkcję poligloty, aby w przejrzysty sposób mieszać i dopasowywać obsługiwane języki.
- HotSpot – implementacja Java VM typu open source firmy Oracle.
- Jikes RVM (Jikes Research Virtual Machine) – projekt badawczy. PPC i IA-32 . Obsługuje biblioteki Apache Harmony i GNU Classpath. Licencja publiczna Eclipse .
- leJOS – Robotics suite, zamiennik oprogramowania programowalnego dla programowalnych klocków Lego Mindstorms , zapewnia środowisko programistyczne Java dla robotów Lego Mindstorms RCX i NXT.
- Maxine — metacykliczna maszyna wirtualna do badań typu open source z Oracle Labs i University of Manchester.
Nieaktywny
- Apache Harmony – obsługuje kilka architektur i systemów. Wycofane z listopada 2011 r. Licencja Apache 2.0.
- GCJ, kompilator Java GCC , który kompiluje do kodu bajtowego lub do natywnego kodu maszynowego. Począwszy od GCC 7, gcj i powiązana biblioteka uruchomieniowa libjava zostały usunięte z GCC.
- IKVM.NET — Java dla Mono i Microsoft .NET Framework. Wykorzystuje OpenJDK . Licencja Zlib .
- JamVM – opracowany jako niezwykle mała maszyna wirtualna. Używa GNU Classpath i OpenJDK . Obsługuje kilka architektur. GPL. Ostatnia aktualizacja 2014.
- JOP – sprzętowa implementacja JVM. GPL 3.
- Juice – eksperymentalna maszyna JVM JavaME opracowana do działania w systemie operacyjnym NUXI.
- Jupiter – wykorzystuje moduł wyrzucania elementów bezużytecznych Boehm i GNU Classpath. GPL. Nieobsługiwany.
- Kaffe – używa GNU Classpath. GPL. 1.1.9 wydana 26 lutego 2008 r.
- Mika VM – przeznaczony do użytku w urządzeniach wbudowanych. Międzyplatformowe. Licencja w stylu BSD .
- NanoVM - opracowany do pracy na Atmel AVR ATmega8 używanym w Asuro Robot, może być przeniesiony do innych systemów opartych na AVR.
- SableVM – pierwsza bezpłatna JVM obsługująca JVMDI i JDWP . Wykorzystuje GNU Classpath. LGPL. Wersja 1.13 wydana 30 marca 2007 r.
- Maszyna wirtualna Squawk – wirtualna maszyna Java ME dla systemów wbudowanych i małych urządzeń. Wieloplatformowy. GPL.
- SuperWaba – wirtualna maszyna podobna do Javy dla urządzeń przenośnych. GPL. Przerwane, zastąpione przez TotalCross.
- TakaTuka – dla bezprzewodowych urządzeń sieciowych z czujnikami. GPL.
- TinyVM .
- VMKit z LLVM .
- Wonka VM - opracowany do działania na sprzęcie opartym na architekturze ARM firmy Acunia. Jakiś kod zaczerpnięty z GNU Classpath. Licencja w stylu BSD . Nie jest już aktywnie rozwijany, zastąpiony przez Mika VM .
Systemy operacyjne Javy
Niektóre maszyny JVM mają działać bez bazowego systemu operacyjnego.
- JX – system operacyjny Java, który koncentruje się na elastycznej i solidnej architekturze systemu operacyjnego opracowanej jako system open source przez Uniwersytet w Erlangen. GPL. Wersja 0.1.1 wydana 10 października 2007
- JavaOS – oryginalny projekt firmy Sun Microsystems
Własne implementacje
Aktywny
- Azul Platform Prime – w pełni zgodna, wysokowydajna wirtualna maszyna Java oparta na OpenJDK, która wykorzystuje moduł wyrzucania elementów bezużytecznych C4 firmy Azul Systems i kompilator Falcon JIT.
- JamaicaVM ( aicas ) – twarda maszyna wirtualna Java działająca w czasie rzeczywistym dla systemów wbudowanych.
Nieaktywny
- Excelsior JET - licencjonowana implementacja Java SE z kompilatorem AOT dla systemów Windows, OS X i Linux na procesorach Intel x86 i Linux na 32-bitowym ARM .
- Jinitiator – opracowany przez firmę Oracle przed zakupem firmy Sun. Zaprojektowany w celu poprawy obsługi Oracle Forms w witrynach internetowych.
- JRockit (pierwotnie od Appeal Virtual Machines ) – przejęty przez Oracle dla systemów Linux, Windows i Solaris.
- Środowisko wykonawcze systemu Mac OS dla języka Java (MRJ).
- Wirtualna maszyna Microsoft Java - wycofana w 2001 roku.
Mniej znane własnościowe maszyny wirtualne Java
- Blackdown Java był licencjonowanym portem do Linuksa referencyjnej implementacji SunSoft. Został wycofany w 2007 roku, po udostępnieniu OpenJDK .
- Sun CVM - CVM pierwotnie oznacza „Compact Java Virtual Machine”.
- Gemstone – zmodyfikowany pod kątem funkcjonalności Java EE (aplikacja DBMS).
- Intencja (Grupa Tao).
- PreonVM – wirtualna maszyna Java dla systemów wbudowanych oraz małych urządzeń o ograniczonych zasobach.
Zobacz też
- Porównanie wirtualnych maszyn Java
- Darmowe implementacje Javy
- Procesor Javy
- Maszyna wirtualna Dalvik