Sommario:
Definizione - Cosa significa Java Virtual Machine (JVM)?
La Java Virtual Machine (JVM) è un livello di astrazione tra un'applicazione Java e la piattaforma sottostante. Come suggerisce il nome, JVM agisce come una macchina o un processore "virtuale". Ai bytecode che compongono il programma, stanno comunicando con una macchina fisica; tuttavia, stanno effettivamente interagendo con la JVM.
Techopedia spiega Java Virtual Machine (JVM)
JVM consente l'esecuzione della portabilità Java all'interno di applicazioni indipendenti dalla piattaforma e dall'hardware. Fa parte della filosofia "Scrivi una volta, corri ovunque (WORA)". La JVM fa effettivamente parte del Java Runtime Environment (JRE). È il JRE (JVM plus class di base) che abilita il bytecode Java su qualsiasi piattaforma. I bytecode, che sono interpretati dalla JVM, chiamano semplicemente le classi trovate nella JRE quando hanno bisogno di compiere azioni che non possono fare da sole. Alcune azioni, come quelle dirette all'hardware sottostante o al sistema operativo, vengono eseguite dalla JVM. I bytecode mancano di funzionalità da soli e hanno bisogno che la JVM svolga molte attività per loro. Questa limitazione percepita è in realtà un vantaggio. Innanzitutto, consente ai programmi Java di essere molto piccoli rispetto ad altri programmi eseguibili. In secondo luogo, e soprattutto, permette loro di essere molto portatili. Poiché ogni JVM è fatta su misura per una piattaforma specifica, un programma Java non può essere eseguito su di essa a meno che: (1) sia stata creata una JVM appropriata per essa, e; (2) Che JVM è stato installato su di esso. La portabilità dei programmi Java dipende quindi completamente dalla presenza di una JVM specifica. La comunicazione tra un'applicazione e ciascuna piattaforma sottostante può essere molto sofisticata, ma JVM la gestisce bene fornendo uno strato di astrazione tra le due. Pertanto, gli sviluppatori non devono essere consapevoli delle complessità coinvolte per ciascuna coppia piattaforma-applicazione.