Centrum wiedzy o technologiach i pracy w IT

Co warto wiedzieć o JVM?

Ostatnia aktualizacja 15 marca, 2024

JVM, czyli maszyna wirtualna Javy jest aplikacją, która pozwala na interpretację kodu bajtowego Javy niezależnie od środowiska, a ponadto umożliwia optymalizację. Priorytetem dla twórców Javy było umożliwienie uruchamiania tej samej aplikacji bez konieczności modyfikacji kodu na różnych platformach sprzętowych. Znalazło to swoje odzwierciedlenie w akronimie WORA (Write Once, Run Anywhere).

Nie udało się zapisać Twojej subskrypcji. Spróbuj ponownie.
Udało się! Widzimy się niebawem – newsletter wysyłamy w każdy wtorek

Otrzymuj za darmo unikalne poradniki, dane i wiedzę o pracy w IT – dostarczane co tydzień

Klikając “Zapisz mnie” wyrażasz zgodę na otrzymywanie e-maili od redakcji, a także ofert partnerów oraz akceptujesz naszą Politykę prywatności.

Tworzenie aplikacji bez JVM

Tworząc aplikację, która będzie uruchamiana bezpośrednio przez system operacyjny, programista nie posługuje się żadnymi dodatkowymi warstwami pośredniczącymi. Oczywiście, może wykorzystać różne frameworki, języki programowania lub inne narzędzia, natomiast pomiędzy wyjściowym plikiem a systemem operacyjnym nie ma dodatkowej warstwy.

Programista pisze kod, który następnie kompiluje z wykorzystaniem zestawu narzędzi, np. kompilator lub linker. Binarny plik jest końcowym efektem kompilacji. W dużym uproszczeniu plik jest zestawem instrukcji, które mają zostać wykonane przez procesor.

Co więcej, w zależności od architektury procesora i systemu operacyjnego plik będzie miał różną zawartość. Jednym słowem wiąże się to z koniecznością kompilowania programu dla każdej obsługiwanej architektury.

Sprawdź: CodeGym – zgrywalizowany kurs Javy

Tworzenie aplikacji z wykorzystaniem JVM

JVM jest warstwą pośredniczącą pomiędzy końcowym plikiem binarnym a systemem operacyjnym i procesorem, dzięki której kod skompilowany do postaci kodu bajtowego Javy nie wymaga rekompilacji dla każdej nowej architektury.

Jedynym wymaganiem dla uruchomienia programu na nowej architekturze jest zainstalowanie na niej maszyny wirtualnej Javy. Z biegiem czasu inne języki zyskały możliwość uruchamiania programów na JVM pod warunkiem, że są kompilowane do kodu bajtowego Javy.

Zobacz: Ile zarabia programista Java?

Elementy składowe JVM

Maszyna wirtualna Javy (JVM) skłąda się z kilku elementów. Wyróżniamy głównie:

  • Interpreter, którego zadaniem jest wykonywanie programu zapisanego w kodzie bajtowym.
  • Kompilator JIT (Just-In_Time), którego zadaniem jest tłumaczenie kodu do postaci natywnej, aby potem go wykonać w całości. Zwiększa wydajność, jeśli kod wykonywany jest wielokrotnie.
  • Zarządca pamięci, którego zadaniem jest deklaracja minimalnej i maksymalnej ilości pamięci RAM (sterty), jaką może wykorzystać program. Pozwala także zwalniać nieużywaną ilość pamięci, czyli ją odśmiecać.
  • Weryfikator kodu bajtowego, który ma za zadanie sprawdzić kod przed wykonaniem, aby uruchomienie programu nie wpłynęło negatywnie na stabilność systemu.
  • Java API, czyli zestaw bibliotek, z których korzystają uruchamiane aplikacje.

Narzędzia diagnostyczne i monitoringowe dla JVM

Narzędzia służące do diagnozowania i monitoringu JVM pomagają zapewnić wysoką wydajność i stabilność aplikacji Java.

  • JConsole, narzędzie wbudowane w JDK, pozwala na monitorowanie zużycia zasobów przez aplikację, w tym zużycia pamięci i działania wątków, co jest nieocenione przy identyfikacji wycieków pamięci i problemów z wydajnością.
  • VisualVM, będący bardziej zaawansowanym narzędziem, oferuje szereg funkcji do głębszej analizy działania aplikacji. Umożliwia nie tylko monitorowanie w czasie rzeczywistym, ale również profilowanie aplikacji Java, analizę zrzutów pamięci oraz wątków. Dzięki temu programiści mogą dokładniej diagnozować problemy i optymalizować swoje aplikacje.
  • Oprócz tych dwóch, istnieją również inne narzędzia takie jak Mission Control i Flight Recorder, które oferują jeszcze szersze możliwości diagnostyczne i monitoringowe, pomagając w utrzymaniu aplikacji Java na najwyższym poziomie wydajności.

Popularność Javy

Ze względu na łatwe przenoszenie kodu, Javę wykorzystuje się w wielu branżach i typach urządzeń. Programy napisane w Javie można spotkać na serwerach dużych firm finansowych, gdzie obsługują transakcje.

Indywidualni użytkownicy na swoich komputerach mogą mieć zainstalowane programy napisane w Javie, a strona, którą odwiedzają, będzie używała Javy na swoim serwerze. Programy używające JVM można spotkać także w smartfonach i urządzeniach IoT.

Wysoka popularność Javy wynika z jej uniwersalności, ale też bogatego zaplecza funkcji i bibliotek dostępnych do wykorzystania bez dodatkowych kroków.

Dziękujemy, że przeczytałaś/eś nasz artykuł. Obserwuj EnterTheCode.pl w Wiadomościach Google, aby być na bieżąco.

Total
0
Shares
_podobne artykuły