Sto cercando di capire il vero vantaggio di implementare java come una macchina astratta o virtuale o in altre parole il vantaggio di compilare una lingua in una lingua per una macchina astratta. Per quanto riguarda l'indipendenza dalla piattaforma è interessato pensavo seguenti due implementazioni alternative:concetto di macchina astratto di jvm
solo avere un interprete che traduce Java direttamente in codice macchina della macchina è in esecuzione su e avere più implementazioni di tale interprete per diversi tipi di macchina.
la prima opzione non è efficiente nello spazio, quindi come compilare il codice sorgente in una lingua intermedia che non è una lingua per una macchina astratta ma solo un linguaggio che può essere interpretato come codice macchina e quindi con più implementazioni di tali interpreti.
Se le prestazioni non vengono considerate come confrontare una macchina astratta con queste opzioni. In altre parole, cosa succede se il codice byte java non è un linguaggio per una macchina virtuale ma solo un linguaggio intermedio. Quali caratteristiche e vantaggi andrebbero persi (tranne che per le prestazioni)?
Sono d'accordo ma il fatto è che non ho ricevuto la risposta che stavo cercando. Il punto che hai fatto è corretto, ma sto cercando una spiegazione di come questo concetto di macchina astratta sia così cruciale per l'implementazione di java. La conversione esatta del codice sorgente in assemblaggio per una macchina virtuale sta dando i suoi frutti. Immagino di non essere in grado di spiegarlo correttamente – vjain27
Hai già letto [questo] (http://en.wikipedia.org/wiki/Virtual_machine) e [questo] (http://en.wikipedia.org/wiki/Java_virtual_machine)? – michael667