Non-nazista come usa il barytone di indipendenza della piattaforma che influenza la velocità di esecuzione.
Abbiamo appena creato una compilation e un'interpretazione che offrono vantaggi e limiti contrastanti.
Abbiamo visto che con il completamento otteniamo una velocità di esecuzione veloce ma senza il vantaggio dell'indipendenza dalla piattaforma.
D'altro canto con l'interpretazione otteniamo il vantaggio dell'indipendenza dalla piattaforma, ma con una
velocità di esecuzione molto più bassa Jawa utilizza il meglio di entrambi, ovvero utilizza sia la compilazione che
l'interpretazione per ottenere l'indipendenza dalla piattaforma senza compromettere la velocità.
E questo è come è realizzato.
Il codice sorgente Java è compilato in una forma intermedia chiamata dll bytecode Java, un byte chiamato può quindi
essere interpretato su qualsiasi piattaforma con una JVM che rappresenta la macchina virtuale Java come nel caso
di un interprete su ogni piattaforma JVM, in particolare la piattaforma è installata.
Diamo un'occhiata a questo processo e qualche altro scavo.
Supponiamo di avere un programma Java chiamato halloed o Java che include il codice sorgente Helen o
compilato per genere.
Salve la classe che include un compilatore bytecode Java ha usato il comando jalousie space.
Ciao nodulare.
Quindi le jalousie sono javac in quanto viene spesso pronunciato come compilatore di dollari.
Hello non-class può quindi essere eseguito su qualsiasi piattaforma che abbia una JVM installata, come possiamo vedere JVM è specificamente una
piattaforma che è per piattaforma Windows.
Installiamo una JVM specifica per Windows e non l'uscita del file di classe.
Usiamo il comando base jalouse.
Ciao questo comando crea un'istanza di JVM che è la CB carica la JVM in memoria e quindi la JVM
viene eseguita.
Ciao DR-DOS come puoi vedere JVM è bloccato dalla dipendenza ma Java bytecode è indipendente dalla piattaforma.
L'intero processo è molto simile all'interpretazione.
Se ricordi la nostra discussione sull'interpretazione, stavamo usando degli interpreti.
Potrebbe essere che tu sia in codice sorgente perl mentre nel caso di Java stiamo usando JVM per interpretare
bytecode e sorta di codice sorgente in modo che JVM sia l'interprete.
In realtà l'interpretazione vera e propria viene eseguita dall'interprete Djala che è un sottocomponente di JVM.
Quindi GBM sta interpretando il bytecode Java.
Possiamo pensare a Java come linguaggio interprete.
OK, quindi amiamo a vantaggio della piattaforma di indipendenza di Java, che è dovuto al suo processo di interpretazione,
ma sappiamo che l'interpretazione è lenta.
Quindi, come fa Djala a garantire che sia anche veloce.
Le chiavi sono interpretate in base al codice e il codice è molto più veloce dell'interpretazione del codice sorgente.
E questo perché bytecode è Compaq muddler è già compilato.
Il che significa che cose come la sintassi sull'inflessione semantica sono già state prese.
Scendere anche bytecode è ottimizzato per accelerare l'esecuzione Gibeah multiple fonts ottimizzazione aggiuntiva attraverso un processo chiamato just in time compilation o fordock
di compilazione JRD che verrebbe discusso quando copriremo JVM non un Java ma
il modulo compatto del codice consente anche il trasporto rapido di virgolette tra le reti hanno ricordato che Ajalon era
stato originariamente progettato per funzionare in un ambiente di rete in cui il trasferimento di
tutti i programmi compilati su dispositivi diversi era uno degli obiettivi.
Quindi questo è tutto.
E abbiamo visto come i codici byte Java e JVM sono stati utilizzati per l'indipendenza dalla
piattaforma senza compromettere la velocità ok prima della chiusura.
Andiamo avanti e testiamo la capacità di indipendenza della piattaforma di Java.
Quindi eccomi sulla mia macchina Windows e ho questo programma.
Ciao dark Java che è simile al programma C scavato che abbiamo visto in up Plack dalla conferenza
delle dipendenze molto nel testo Ciao cosa.
Quindi questo viene stampato anche la volta successiva che sono passato alla console.
Quindi andiamo avanti non compilato questo programma Java circa compilare.
Come ho detto prima, il comando è Java Sea Space.
Ciao Daut Java.
E creerebbe una classe di arte scavata classificare Douglas che contiene il bytecode Java.
Quindi, per uscire da ciò che ha detto.
Java è l'interprete java e sarebbe Speace ciao e che eseguirà la classe che ha il
bytecode Gela e come puoi vedere stampa il testo.
Ora andiamo avanti e copiamo questo file di classe doc che è stato generato dal compilatore
Djala sulla macchina Linux per testare la capacità di indipendenza della piattaforma di Java.
Quindi eccolo qui.
Ciao classe oscura che è stata inserita dal compilatore e che ha il bytecode Delta.
Quindi l'ho copiato sul mio computer Windows, lascialo esattamente esattamente così.
Quindi non abbiamo il completamento qui.
Basta eseguirlo. Spazio Jawa Ciao.
OK questo è tutto.
Soit stampa anche Hello World e dimostra che Java è indipendente dalla piattaforma.
OK, questo è tutto.
Grazie.
Ci vediamo alla prossima lezione.