1 回答

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊
那么這些指令之間到底有什么區(qū)別呢?
簡(jiǎn)而言之:fast_
變體是優(yōu)化的架構(gòu)相關(guān)指令替換
這些優(yōu)化從何而來(lái)?
JVM 模塊解釋器。它可以在非補(bǔ)丁和補(bǔ)丁模式下工作。一些相關(guān)的 JVM 選項(xiàng):
RewriteBytecodes
- 允許重寫(xiě)字節(jié)碼
RewriteFrequentPairs
- 將常用的字節(jié)碼對(duì)重寫(xiě)為單個(gè)字節(jié)碼
- 包含一些快速字節(jié)碼的定義(參見(jiàn)參考資料?Bytecodes::initialize()
),其中一組快速字節(jié)碼被定義。此外,可以在依賴于平臺(tái)的代碼區(qū)域中定義快速字節(jié)碼。重寫(xiě)的字節(jié)碼依賴于架構(gòu)。好吧,至少,其中一些是,而另一些則不是。
口譯員什么時(shí)候/為什么選擇使用這些?
JVM 具有重寫(xiě)字節(jié)碼流的能力,例如組合通用指令對(duì)。至少大多數(shù)(如果不是全部)到fast_
版本的字節(jié)碼轉(zhuǎn)換只是為了性能而完成的,并且可以被禁用。這樣做會(huì)影響口譯員的表現(xiàn)。
添加回答
舉報(bào)