Spisu treści:
Definicja - Co oznacza wirtualna maszyna Java (JVM)?
Java Virtual Machine (JVM) to warstwa abstrakcji między aplikacją Java a platformą bazową. Jak sama nazwa wskazuje, JVM działa jako „wirtualna” maszyna lub procesor. Do kodów bajtowych wchodzących w skład programu komunikują się one z fizyczną maszyną; jednak faktycznie wchodzą w interakcje z JVM.
Techopedia wyjaśnia Java Virtual Machine (JVM)
JVM umożliwia przenoszenie Java w aplikacjach niezależnych od platformy i sprzętu. To duża część filozofii „pisz raz, biegaj gdziekolwiek (WORA)”. JVM jest w rzeczywistości częścią środowiska Java Runtime Environment (JRE). Jest to JRE (JVM plus klasy podstawowe), który umożliwia uruchamianie kodu bajtowego Java na dowolnej platformie. Kody bajtowe, które są interpretowane przez JVM, po prostu wywołują klasy znalezione w środowisku JRE, gdy muszą wykonywać czynności, których nie są w stanie wykonać samodzielnie. Niektóre czynności, takie jak te skierowane na podstawowy sprzęt lub system operacyjny, są wykonywane przez JVM. Kody bajtowe same w sobie nie mają funkcjonalności i wymagają od JVM wykonywania wielu zadań. To dostrzegane ograniczenie jest w rzeczywistości zaletą. Po pierwsze, pozwala programom Java być bardzo małe w porównaniu do innych programów wykonywalnych. Po drugie, a co ważniejsze, pozwala im być bardzo przenośnymi. Ponieważ każda maszyna JVM jest dostosowana do konkretnej platformy, program Java nie może na niej działać, chyba że: (1) Utworzono dla niej odpowiednią maszynę JVM oraz; (2) Że JVM został na nim zainstalowany. Przenośność programów Java jest zatem w pełni zależna od obecności konkretnej maszyny JVM. Komunikacja między aplikacją a każdą platformą bazową może być bardzo złożona, ale JVM dobrze sobie z nią radzi, zapewniając warstwę abstrakcji między nimi. W związku z tym programiści nie muszą być świadomi zawiłości związanych z każdą parą aplikacji i platform.