Macchina virtuale Java: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Aggiungo i linguaggi principali che possono essere compilati in bytecode |
m orfanizzo disambigua Oracle |
||
Riga 2:
La '''macchina virtuale Java''', detta anche '''Java Virtual Machine''' o '''JVM''', è il componente della [[piattaforma Java]] che [[esecuzione (informatica)|esegue]] i [[programma (informatica)|programmi]] tradotti in [[bytecode]] dopo una prima [[compilatore|compilazione]].
Tra i linguaggi di programmazione che possono essere tradotti in bytecode troviamo [[Java (linguaggio di programmazione)|Java]], [[Groovy]], [[Clojure]], [[Scala (linguaggio di programmazione)|Scala]] ed [http://eta-lang.org/ Eta].
== Principio ==
Riga 12:
Il bytecode è generalmente prodotto dalla compilazione di [[codice sorgente|codici sorgenti]] (o [[File sorgente|file sorgenti]]) scritti in linguaggio [[Java (linguaggio di programmazione)|Java]], anche se è possibile produrre bytecode partendo da altri linguaggi come [[Scala (linguaggio di programmazione)|Scala]], [[Clojure]] o [[Groovy]]<ref>{{Cita web|url = http://zeroturnaround.com/rebellabs/the-adventurous-developers-guide-to-jvm-languages-java-scala-groovy-fantom-clojure-ceylon-kotlin-xtend/|titolo = he Adventurous Developer's Guide to JVM Languages|accesso = 2015-05-30|sito = zeroturnaround.com|nome = Simon|cognome = Maple}}</ref>.
La JVM è definita da una [[specifica tecnica|specifica]], mantenuta da [[Oracle Corporation|Oracle]]. Qualsiasi sistema che si comporti in modo coerente con tale specifica viene considerato come una particolare [[implementazione]] della JVM. Esistono implementazioni [[software]] per praticamente tutti i [[sistema operativo|sistemi operativi]] moderni, sia gratuite che commerciali. Inoltre, esistono implementazioni speciali per particolari ambienti [[hardware]]/[[software]], come [[telefono cellulare|telefoni cellulari]] e [[Computer palmare|palmari]]), e persino implementazioni hardware come [[Architettura_ARM#Jazelle|Jazelle]].
La disponibilità di implementazioni della macchina virtuale Java per diversi ambienti operativi è la chiave della [[portabilità]] di Java, proclamata nello [[slogan]] ''write once, run everywhere'' ("scrivi una volta, esegui dappertutto"). La macchina virtuale realizza infatti un ambiente di esecuzione omogeneo, che nasconde al software Java (e quindi al programmatore) qualsiasi specificità del [[sistema operativo]] sottostante:
|