Ma stai parlando del concetto di MACCHINA VIRTUALE JAVA?

Se così è il concetto è semplice: immagina la macchina virtuale come un traduttore simultaneo che è in grado di tradurre dalla tua lingua a qualsiasi altra lingua esistente, in questo modo tu scrivi il tuo codice senza doverlo compilare per uno specifico sistema hardware, ma sarà la macchina virtuale a fare questo per te. In soldoni tu scrivi un'applicazione Java e la distribuisci indistintamente per PC, Mac, Linux, Palm, Cellulare, etc... Tu parlerai con la Virtual Machine e lei tradurrà per te a seconda della piattaforma in uso.

Spero di averti aiutato.