Post

Visualizzazione dei post con l'etichetta JVM

Check compatibilità Java Virtual Machine

DOMANDA: Come posso controllare se la versione della Java Virtual Machine (JVM) installata è compatibile con il mio programma? RISPOSTA: Per controllare la versione della Java Virtual Machine   (JVM) installata e informare l'utente dell'incompatibilità con il nostro programma, possiamo usare uno script batch basato sulla major.minor version delle distribuzioni di Java . Nel caso in cui provassimo ad eseguire un jar compilato con Java 7 su una JVM 6 , riceveremmo la seguente eccezione : Exception in thread "main" java.lang.UnsupportedClassVersionError : NomeClasseMain: Unsupported major.minor version 51.0         at java.lang.ClassLoader.defineClass1(Native Method)         at java.lang.ClassLoader.defineClassCond(Unknown Source)         at java.lang.ClassLoader.defineClass(Unknown Source)         at java.security.SecureClassLoader.defineClass(Unknown Source)         at java.net.URLClassLoader.

La "Compilazione" Java

Immagine
DOMANDA: Java è un linguaggio interpretato o compilato? RISPOSTA: In realtà Java è un linguaggio ibrido , sia compilato che interpretato . Diamo un'occhiata al processo globale: Fasi della compilazione 1.  Il primo step è il file .java che viene inviato al compilatore Java (javac) che lo trasforma in un file .class 2.  Il file .class  contiene il  Bytecode , un codice intermedio tra il compilato e il file in chiaro ed è comprensibile a tutte le Java Virtual Machine ( JVM ) installate sui diversi dispositivi (ricordiamo che la JVM è specifica per l'architettura su cui è installata). Se provate ad aprire con il Blocco Note (o un qualunque editor di testo) un file .class vi renderete conto che il file è in parte intellegibile, in parte no. 3.  La Java Virtual Machine internamente ha un Compilatore Just In Time ( JIT ) che si occupa di interpretare il Bytecode trasformandolo in codice comprensibile al calcolatore. Tale operazione non è svo