Wirtualna maszyna Java - wprowadzenie
JVM jest specyfikacją i może mieć różne implementacje, o ile są one zgodne ze specyfikacjami. Specyfikacje można znaleźć w poniższym linku -https://docs.oracle.com
Oracle ma własną implementację JVM (zwaną HotSpot JVM), IBM ma własną (na przykład J9 JVM).
Operacje zdefiniowane w specyfikacji podano poniżej (źródło - specyfikacja Oracle JVM, patrz powyższy link) -
- Format pliku „klasa”
- Typy danych
- Typy i wartości pierwotne
- Typy i wartości odwołań
- Obszary danych czasu wykonywania
- Frames
- Reprezentacja obiektów
- Arytmetyka zmiennoprzecinkowa
- Metody specjalne
- Exceptions
- Podsumowanie zestawu instrukcji
- Biblioteki klas
- Projekt publiczny, wdrożenie prywatne
JVM jest maszyną wirtualną, abstrakcyjnym komputerem, który ma własny ISA, własną pamięć, stos, stertę itp. Działa w systemie operacyjnym hosta i wysyła do niego wymagania dotyczące zasobów.