1
00:00:01,310 --> 00:00:08,370
Non-nazista come usa il barytone di indipendenza della piattaforma che influenza la velocità di esecuzione.

2
00:00:08,490 --> 00:00:14,820
Abbiamo appena creato una compilation e un'interpretazione che offrono vantaggi e limiti contrastanti.

3
00:00:15,020 --> 00:00:23,100
Abbiamo visto che con il completamento otteniamo una velocità di esecuzione veloce ma senza il vantaggio dell'indipendenza dalla piattaforma.

4
00:00:23,140 --> 00:00:29,470
D'altro canto con l'interpretazione otteniamo il vantaggio dell'indipendenza dalla piattaforma, ma con una

5
00:00:29,500 --> 00:00:38,380
velocità di esecuzione molto più bassa Jawa utilizza il meglio di entrambi, ovvero utilizza sia la compilazione che

6
00:00:38,440 --> 00:00:43,460
l'interpretazione per ottenere l'indipendenza dalla piattaforma senza compromettere la velocità.

7
00:00:43,580 --> 00:00:45,500
E questo è come è realizzato.

8
00:00:45,620 --> 00:00:53,030
Il codice sorgente Java è compilato in una forma intermedia chiamata dll bytecode Java, un byte chiamato può quindi

9
00:00:53,030 --> 00:00:59,750
essere interpretato su qualsiasi piattaforma con una JVM che rappresenta la macchina virtuale Java come nel caso

10
00:00:59,750 --> 00:01:05,270
di un interprete su ogni piattaforma JVM, in particolare la piattaforma è installata.

11
00:01:06,060 --> 00:01:07,940
Diamo un'occhiata a questo processo e qualche altro scavo.

12
00:01:09,790 --> 00:01:16,550
Supponiamo di avere un programma Java chiamato halloed o Java che include il codice sorgente Helen o

13
00:01:16,550 --> 00:01:17,760
compilato per genere.

14
00:01:17,770 --> 00:01:24,740
Salve la classe che include un compilatore bytecode Java ha usato il comando jalousie space.

15
00:01:24,740 --> 00:01:26,280
Ciao nodulare.

16
00:01:26,380 --> 00:01:30,680
Quindi le jalousie sono javac in quanto viene spesso pronunciato come compilatore di dollari.

17
00:01:32,570 --> 00:01:39,920
Hello non-class può quindi essere eseguito su qualsiasi piattaforma che abbia una JVM installata, come possiamo vedere JVM è specificamente una

18
00:01:39,950 --> 00:01:42,260
piattaforma che è per piattaforma Windows.

19
00:01:42,260 --> 00:01:46,780
Installiamo una JVM specifica per Windows e non l'uscita del file di classe.

20
00:01:46,910 --> 00:01:48,680
Usiamo il comando base jalouse.

21
00:01:48,680 --> 00:01:56,790
Ciao questo comando crea un'istanza di JVM che è la CB carica la JVM in memoria e quindi la JVM

22
00:01:56,790 --> 00:01:57,800
viene eseguita.

23
00:01:57,810 --> 00:02:06,560
Ciao DR-DOS come puoi vedere JVM è bloccato dalla dipendenza ma Java bytecode è indipendente dalla piattaforma.

24
00:02:06,610 --> 00:02:09,790
L'intero processo è molto simile all'interpretazione.

25
00:02:10,000 --> 00:02:14,110
Se ricordi la nostra discussione sull'interpretazione, stavamo usando degli interpreti.

26
00:02:14,320 --> 00:02:20,920
Potrebbe essere che tu sia in codice sorgente perl mentre nel caso di Java stiamo usando JVM per interpretare

27
00:02:20,980 --> 00:02:25,600
bytecode e sorta di codice sorgente in modo che JVM sia l'interprete.

28
00:02:25,630 --> 00:02:31,220
In realtà l'interpretazione vera e propria viene eseguita dall'interprete Djala che è un sottocomponente di JVM.

29
00:02:32,030 --> 00:02:34,520
Quindi GBM sta interpretando il bytecode Java.

30
00:02:34,590 --> 00:02:39,260
Possiamo pensare a Java come linguaggio interprete.

31
00:02:39,280 --> 00:02:45,280
OK, quindi amiamo a vantaggio della piattaforma di indipendenza di Java, che è dovuto al suo processo di interpretazione,

32
00:02:45,280 --> 00:02:47,250
ma sappiamo che l'interpretazione è lenta.

33
00:02:47,650 --> 00:02:51,990
Quindi, come fa Djala a garantire che sia anche veloce.

34
00:02:52,140 --> 00:02:57,180
Le chiavi sono interpretate in base al codice e il codice è molto più veloce dell'interpretazione del codice sorgente.

35
00:02:58,410 --> 00:03:04,250
E questo perché bytecode è Compaq muddler è già compilato.

36
00:03:04,810 --> 00:03:08,480
Il che significa che cose come la sintassi sull'inflessione semantica sono già state prese.

37
00:03:08,470 --> 00:03:18,130
Scendere anche bytecode è ottimizzato per accelerare l'esecuzione Gibeah multiple fonts ottimizzazione aggiuntiva attraverso un processo chiamato just in time compilation o fordock

38
00:03:18,160 --> 00:03:23,860
di compilazione JRD che verrebbe discusso quando copriremo JVM non un Java ma

39
00:03:23,860 --> 00:03:32,550
il modulo compatto del codice consente anche il trasporto rapido di virgolette tra le reti hanno ricordato che Ajalon era

40
00:03:32,550 --> 00:03:39,260
stato originariamente progettato per funzionare in un ambiente di rete in cui il trasferimento di

41
00:03:39,260 --> 00:03:44,450
tutti i programmi compilati su dispositivi diversi era uno degli obiettivi.

42
00:03:44,480 --> 00:03:45,450
Quindi questo è tutto.

43
00:03:45,530 --> 00:03:52,550
E abbiamo visto come i codici byte Java e JVM sono stati utilizzati per l'indipendenza dalla

44
00:03:52,550 --> 00:03:57,040
piattaforma senza compromettere la velocità ok prima della chiusura.

45
00:03:57,040 --> 00:04:02,310
Andiamo avanti e testiamo la capacità di indipendenza della piattaforma di Java.

46
00:04:02,320 --> 00:04:05,560
Quindi eccomi sulla mia macchina Windows e ho questo programma.

47
00:04:05,570 --> 00:04:12,150
Ciao dark Java che è simile al programma C scavato che abbiamo visto in up Plack dalla conferenza

48
00:04:12,160 --> 00:04:15,030
delle dipendenze molto nel testo Ciao cosa.

49
00:04:15,250 --> 00:04:19,220
Quindi questo viene stampato anche la volta successiva che sono passato alla console.

50
00:04:19,270 --> 00:04:24,340
Quindi andiamo avanti non compilato questo programma Java circa compilare.

51
00:04:24,460 --> 00:04:28,300
Come ho detto prima, il comando è Java Sea Space.

52
00:04:28,450 --> 00:04:33,280
Ciao Daut Java.

53
00:04:33,480 --> 00:04:39,670
E creerebbe una classe di arte scavata classificare Douglas che contiene il bytecode Java.

54
00:04:39,710 --> 00:04:42,400
Quindi, per uscire da ciò che ha detto.

55
00:04:42,410 --> 00:04:49,430
Java è l'interprete java e sarebbe Speace ciao e che eseguirà la classe che ha il

56
00:04:49,430 --> 00:04:53,910
bytecode Gela e come puoi vedere stampa il testo.

57
00:04:54,110 --> 00:05:01,520
Ora andiamo avanti e copiamo questo file di classe doc che è stato generato dal compilatore

58
00:05:01,520 --> 00:05:08,070
Djala sulla macchina Linux per testare la capacità di indipendenza della piattaforma di Java.

59
00:05:08,110 --> 00:05:08,830
Quindi eccolo qui.

60
00:05:08,830 --> 00:05:13,900
Ciao classe oscura che è stata inserita dal compilatore e che ha il bytecode Delta.

61
00:05:14,050 --> 00:05:19,760
Quindi l'ho copiato sul mio computer Windows, lascialo esattamente esattamente così.

62
00:05:19,800 --> 00:05:22,720
Quindi non abbiamo il completamento qui.

63
00:05:22,740 --> 00:05:27,160
Basta eseguirlo. Spazio Jawa Ciao.

64
00:05:27,290 --> 00:05:29,430
OK questo è tutto.

65
00:05:29,430 --> 00:05:36,230
Soit stampa anche Hello World e dimostra che Java è indipendente dalla piattaforma.

66
00:05:36,570 --> 00:05:37,760
OK, questo è tutto.

67
00:05:37,860 --> 00:05:38,460
Grazie.

68
00:05:38,490 --> 00:05:39,680
Ci vediamo alla prossima lezione.
