Komponenty maszyny wirtualnej J9
Technologia J9 Virtual Machine (VM) składa się z zestawu komponentów.
Na poniższym diagramie przedstawiono strukturę komponentu maszyny wirtualnej J9 :

- Interfejs API JVM
- Interfejs API wirtualnej maszyny języka Java obudowuje całą interakcję między programami zewnętrznymi a maszyną VM J9 . Do przykładów interakcji należą:
- Tworzenie i inicjowanie maszyny wirtualnej za pomocą interfejsów API wywołania.
- Interakcja ze standardowymi uruchamiatorami Java™ , w tym obsługa dyrektyw wiersza komend.
- Prezentacja publicznych interfejsów API maszyny JVM, takich jak JNI i JVMTI.
- Prezentacja i implementacja prywatnych interfejsów VM API używanych przez podstawowe klasy Java.
- program ładujący klasy
- Komponent programu ładującego klasy jest odpowiedzialny za obsługę dynamicznych obiektów ładowania kodu. Dynamiczne urządzenia do ładowania kodu obejmują:
- Odczytywanie standardowych plików klas Java .class.
- Rozstrzyganie definicji klas w kontekście bieżącego środowiska wykonawczego.
- Weryfikowanie kodu bajtowego zdefiniowanego przez plik klasy w celu określenia, czy kod bajtowy jest językiem prawnym.
- Inicjowanie definicji klasy po zaakceptowaniu jej w zarządzanym środowisku wykonawczym.
- Różne interfejsy API do introspekcji dla klasy i jej zdefiniowanych członków.
- Kompilator JIT
- Kompilator Just-In-Time (JIT) poprawia wydajność aplikacji Java, kompilując kod bajtowy w kodzie rodzimym w czasie wykonywania. Kompilator JIT jest opisany w sekcji Włączanie i wyłączanie kompilatora JIT.
- Zarządzanie pamięcią
- Komponent zarządzania pamięcią jest odpowiedzialny za efektywne wykorzystanie pamięci systemowej przez aplikację Java. Programy Java są uruchamiane w zarządzanym środowisku wykonawczym. Gdy program Java wymaga pamięci masowej, komponent zarządzania pamięcią przydziela aplikację dyskretną regionowi nieużywanej pamięci. Po tym, jak aplikacja nie odwołuje się już do pamięci masowej, komponent zarządzania pamięcią musi rozpoznać, że pamięć jest nieużywana i odzyskuje pamięć do późniejszego ponownego wykorzystania przez aplikację lub zwróci ją do systemu operacyjnego. Komponent zarządzania pamięcią zawiera kilka opcji strategii, które można określić podczas wdrażania aplikacji. Zarządzanie pamięcią omawia zarządzanie pamięcią w maszynie wirtualnej J9 .
- Komponent diagnostyczny
- Komponent diagnostyczny udostępnia narzędzia RAS (Reliability, Availability, and Serviceability) dla maszyny JVM. Maszyna wirtualna J9 jest wyróżniona przez rozległe możliwości RAS. Maszyna wirtualna J9 jest wdrażana w operacjach o newralgicznym znaczeniu dla działalności biznesowej i obejmuje kilka programów narzędziowych do śledzenia i debugowania, które ułatwiają określanie problemu. Jeśli w tym polu wystąpi problem, możliwe jest użycie możliwości komponentu diagnostycznego w celu śledzenia funkcji środowiska wykonawczego maszyny wirtualnej i pomocy w zidentyfikowaniu przyczyny problemu. Komponent diagnostyczny może generować wyniki selektywnie z różnych części maszyny VM i JIT. Więcej informacji na temat komponentu diagnostycznego zawiera sekcja Komponent diagnostyczny.
- Warstwa abstrakcji platformy
- Warstwa abstrakcji platformy zapewnia obsługę uruchamiania aplikacji Java na różnych architekturach platform, w tym w systemach operacyjnych Linux, Windows, macOS, AIXi z/OS .