Czym jest JVM? Wyjaśnienie Java Virtual Machine

JVM uruchamia bytecode Java na każdym systemie operacyjnym. Dzięki temu Minecraft Java Edition i każdy mod Fabric działają identycznie na Windows, macOS i Linuxie.

Conceptsby trqUpdated June 4, 2026
Key takeaways
  • JVM (Java Virtual Machine) to program, który uruchamia skompilowany kod bajtowy Javy.
  • Ten sam kod bajtowy działa na Windows, macOS i Linux, więc modyfikacji nie trzeba rekompilować.
  • Gracze potrzebują środowiska uruchomieniowego Javy (JRE); modderzy potrzebują pełnego JDK z kompilatorem.
  • Minecraft Java Edition i każdy mod Fabric, w tym Opal, działają na JVM.

JVM, czyli Java Virtual Machine, to program, który uruchamia kod Java. Piszesz w Javie, kompilator zamienia go w bytecode, a JVM uruchamia ten bytecode na dowolnym systemie operacyjnym. Dlatego też Minecraft Java Edition i mody do niego działają identycznie na Windows, macOS i Linux bez potrzeby rekompilacji.

Gdzie pasuje Opal

Opal jest modem Fabric, więc działa na tej samej JVM co gra. Jeśli go instalujesz, przewodnik instalacyjny przeprowadzi Cię przez ten proces.

Co właściwie robi JVM

JVM wykonuje bytecode, a nie kod źródłowy. Kiedy kompilujesz program Java, nie otrzymujesz wykonywalnego pliku dla Windows lub Mac. Otrzymujesz pliki klas pełne bytecode, czyli kompaktowego zestawu instrukcji, które JVM rozumie. JVM odczytuje te instrukcje i wykonuje je na Twoim komputerze.

Ten dodatkowy poziom jest sednem sprawy. Ten sam bytecode działa wszędzie tam, gdzie istnieje JVM, dlatego "napisz raz, uruchom gdziekolwiek" to skrócona wersja wyjaśnienia, dlaczego Java tak szeroko się rozprzestrzeniła. JVM to element, który sprawia, że ta obietnica staje się prawdą.

JVM, JRE i JDK

Te trzy terminy są często mylone, dlatego oto podział.

TerminCo to jestKiedy tego potrzebujesz
JVMSilnik, który wykonuje bytecodeZawsze, aby uruchomić dowolny program Java
JREJVM plus standardowe bibliotekiDo uruchamiania programów Java
JDKJRE plus kompilator i narzędzia programistyczneDo tworzenia programów Java

Gracz potrzebuje tylko środowiska uruchomieniowego do uruchomienia gry. Programista tworzący mod potrzebuje pełnego JDK, aby móc najpierw skompilować Javę do bytecode.

Jak JVM uruchamia Twój kod szybko

JVM zaczyna od interpretowania bytecode instrukcję po instrukcji. Podczas działania obserwuje, które metody są wywoływane najczęściej. Te "gorące ścieżki" są przekazywane do kompilatora JIT, który zamienia je na natywny kod maszynowy w locie. Po rozgrzewce najbardziej obciążony kod działa z prędkością zbliżoną do natywnej.

JVM zarządza również pamięcią za Ciebie. Odzyskujący śmieci garbage collector odzyskuje obiekty, z których zaprzestajesz korzystania, dzięki czemu nie musisz ręcznie zwalniać pamięci, jak w C. To jeden z powodów, dla których pisanie w Javie jest tak łatwe i dlaczego jest to popularny pierwszy język dla twórców modyfikacji.

Dlaczego to ma znaczenie dla Minecrafta

Minecraft Java Edition działa na JVM, podobnie jak każdy klient i mod, który go targetuje. Kod klienta może być napisany w Javie, Kotlinie lub innym języku JVM, ponieważ wszystkie kompilują się do tego samego bytecode’u, który uruchamia JVM. Mod Fabric jest dostarczany jako plik jar zawierający bytecode, ładowacz podłącza go do gry podczas uruchamiania, a JVM uruchamia całość jako jeden proces.

Dlatego też launchery pozwalają na dostosowywanie takich rzeczy jak rozmiar sterty i wersja Javy. Konfigurujesz JVM, która hostuje grę, a nie samą grę.

FAQ