Une machine virtuelle est un logiciel émulant un matériel informatique complet. Il existe différentes applications qui fournissent cette fonctionnalité. ** Remarque **: Pour les questions sur la machine virtuelle Java, utilisez la balise spécifique [jvm], et pour la machine virtuelle Android, utilisez la balise [dalvik]. Pour d'autres questions sur les détails d'implémentation d'autres types de VM comme les interprètes, les automates ou les machines de Turing, utilisez la balise [vm-implementation]. SEULES LES QUESTIONS SUR LA PROGRAMMATION SONT SUR LE SUJET.