讀書筆記。。。。
catalog:
1、基本結(jié)構(gòu)
2、執(zhí)行引擎的種類
1、基本結(jié)構(gòu):

2、執(zhí)行引擎的種類:java虛擬機的主要任務(wù)是裝載class文件并執(zhí)行其中的字節(jié)碼。不同的java虛擬機,執(zhí)行引擎可能實現(xiàn)的非常不同。
A、最簡單的執(zhí)行引擎就是
一次性解釋字節(jié)碼。
B、另一種執(zhí)行更快,也更消耗內(nèi)存,叫做“
即時編譯(just in time compiler)”。 這種情況下第一次執(zhí)行的代碼會被編譯成本地機器代碼,編譯出的本地機器代碼會被緩存,當(dāng)程序以后被調(diào)用的時候可以被重用。
C、第三種引擎叫
自適應(yīng)優(yōu)化器。在這種方法里,虛擬機開始的時間解釋字節(jié)碼,但是會監(jiān)視運行中程序的活動,并且記錄下使用最頻繁的代碼段。程序運行的時候,程序只把那些活動
最頻繁的代碼段編譯成本地代碼。其它的代碼由于使用的并不頻繁,所以保留為字節(jié)碼,由虛擬機繼續(xù)解釋他們。一個自適應(yīng)的優(yōu)化器可以讓虛擬機在
80%--90%的時間里執(zhí)行被優(yōu)化過的代碼,而只需要
編譯10%--20%對性能有影響的代碼。最后一種虛擬機由硬件芯片構(gòu)成,它用本地方法執(zhí)行字節(jié)碼,這種執(zhí)行引擎實際上內(nèi)嵌到芯片里的。