View Full Version : [JAVA] oltre il bytecode
cornholio
24-11-2005, 09:35
ciao ragazzi.. ho iniziato da molto poco a programmare in java. utilizzo textpad per scrivere il sorgente, compilare ed eseguire il programma. ma oltre a compilare e creare il bytecode, non posso "costruire" un programma eseguibile (sempre con la jvm installata) senza dover scrivere java xxx.class??? oltre al file.bat non esiste niente??? grazie della risposta
michele
Che io sappia l'unico compilatore che riesce a produrre codice macchina vero e proprio da Java è Gcj http://gcc.gnu.org/.
Esistono poi dei programmini che prendono un Jar o dei file .class e ne creano dei file exe/sh ma alla fine non fanno altro che scompattare un zip in una cartella temporanea e poi lanciare la JVM da soli con i file scompattati.
ciao ;)
E quindi con questo compilatore si possono ottenere performance migliori pur scrivendo in java, essendo il codice compilato e non interpretato. O sbaglio?
E quindi con questo compilatore si possono ottenere performance migliori pur scrivendo in java, essendo il codice compilato e non interpretato. O sbaglio?
No. Puoi al massimo ottenere un lancio piu' rapido dell'applicazione perche' il compilatore JIT non deve compilare al volo i metodi durante l'esecuzione.
Forse, in alcune situazioni, il poter usare piu' tempo durante la traduzione del byte code puo' produrre codice piu' performante, d'altro canto le JVM migliori possono adattare dinamicamente il codice prodotto in base ai profili d'esecuzione.
Il byte code non e' mai interpretato, ma viene sempre tradotto in linguaggio macchina per l'esecuzione. Ignoro qui JVM molto vecchie o particolari.
Insomma, non e' detto, in generale assumi di no :)
E quindi con questo compilatore si possono ottenere performance migliori pur scrivendo in java, essendo il codice compilato e non interpretato. O sbaglio?
In teoria si. In pratica non so se funziona perché non ho mai porovato.
ciao ;)
E quindi con questo compilatore si possono ottenere performance migliori pur scrivendo in java, essendo il codice compilato e non interpretato. O sbaglio?
solo nel caso il tuo programma sia così piccolo da rendere "importante" il tempo necessario per la prima compilazione del bytecode.
Per intenderci per un programma "ls" scritto in java puo' valer la pena, per un'applicazione vera no (e ti perdi la portabilità, mica poco ;) )
Grazie per il chiarimento!
cornholio
25-11-2005, 12:23
grazie!!!
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.