Cos'è la JVM? La Java Virtual Machine spiegata

La JVM esegue il bytecode Java su qualsiasi sistema operativo. È per questo che Minecraft Java Edition e ogni mod di Fabric funzionano allo stesso modo su Windows, macOS e Linux.

Conceptsby trqUpdated June 4, 2026
Key takeaways
  • La JVM (Java Virtual Machine) è il programma che esegue il bytecode Java compilato.
  • Lo stesso bytecode funziona su Windows, macOS e Linux, quindi le mod non necessitano di essere ricompilate.
  • I giocatori necessitano di un runtime Java (JRE); i modder necessitano del JDK completo con il compilatore.
  • Minecraft Java Edition e ogni mod Fabric, inclusa Opal, funzionano sulla JVM.

La JVM, o Java Virtual Machine, è il programma che esegue il codice Java. Si scrive in Java, un compilatore lo trasforma in bytecode e la JVM esegue quel bytecode su qualsiasi sistema operativo. Ecco perché Minecraft Java Edition e i mod creati per essa si comportano allo stesso modo su Windows, macOS e Linux senza dover ricompilare.

Dove si integra Opal

Opal è un mod Fabric, quindi funziona sulla stessa JVM del gioco. Se lo stai configurando, la guida alla configurazione ti guiderà attraverso il processo.

Cosa fa realmente la JVM

La JVM esegue bytecode, non codice sorgente. Quando compili un programma Java, non ottieni un eseguibile per Windows o Mac. Ottieni file di classe pieni di bytecode, un set di istruzioni compatto che la JVM comprende. La JVM legge quelle istruzioni ed esegue su di esse sulla tua macchina.

Quello strato aggiuntivo è il punto. Lo stesso bytecode funziona ovunque sia presente una JVM, quindi "scrivi una volta, esegui ovunque" è la versione abbreviata del motivo per cui Java si è diffuso così ampiamente. La JVM è la parte che rende vera questa promessa.

JVM, JRE e JDK

Questi tre termini vengono spesso confusi, quindi ecco la distinzione.

TermineCosa èQuando ne hai bisogno
JVMIl motore che esegue il bytecodeSempre, per eseguire qualsiasi programma Java
JRELa JVM più le librerie standardPer eseguire programmi Java
JDKLa JRE più il compilatore e gli strumenti di sviluppoPer creare programmi Java

Un giocatore ha bisogno solo di un runtime per avviare il gioco. Uno sviluppatore che crea una mod ha bisogno del JDK completo in modo da poter compilare Java in bytecode in primo luogo.

Come la JVM esegue il tuo codice velocemente

La JVM inizia interpretando il bytecode un'istruzione alla volta. Mentre è in esecuzione, osserva quali metodi vengono chiamati più frequentemente. Questi percorsi "caldi" vengono passati al compilatore JIT, che li converte in codice macchina nativo al volo. Dopo il riscaldamento, il codice più utilizzato viene eseguito a velocità prossima a quella nativa.

La JVM gestisce anche la memoria per te. Un garbage collector recupera gli oggetti che non utilizzi più, quindi non devi liberare la memoria manualmente come faresti in C. Questo è uno dei motivi per cui Java è indulgente da scrivere ed è un linguaggio comune per i modder alle prime armi.

Perché è importante per Minecraft

Minecraft Java Edition si basa sulla JVM, e lo fanno anche tutti i client di utilità e i mod che la prendono di mira. Il codice di un client può essere in Java, Kotlin o un altro linguaggio JVM, perché tutti compilano nello stesso bytecode che la JVM esegue. Un mod Fabric viene distribuito come un jar di bytecode, il loader lo integra nel gioco all'avvio e la JVM esegue l'intero processo come uno solo.

Questo è anche il motivo per cui i launcher ti permettono di regolare impostazioni come la dimensione dell'heap e la versione di Java da utilizzare. Stai configurando la JVM che ospita il gioco, non il gioco stesso.

FAQ