簡體   English   中英

JVM JIT實際做什么的任何示例?

[英]Any examples of what JVM JIT actually does?

很好地概述了JIT優化組 ,並提到了

  • 瑣碎的內聯
  • 調用圖內聯
  • 消除尾遞歸
  • 虛擬呼叫守衛優化
  • 本地數據流分析和優化
  • 注冊使用情況優化
  • Java習慣用法的簡化
  • 代碼重新排序,拆分和刪除
  • 循環減少和反轉
  • 循環跨步和循環不變代碼運動
  • 循環展開和剝離
  • 循環版本控制和專業化
  • 異常導向優化
  • 開關分析
  • 全局數據流分析和優化
  • 消除部分冗余
  • 轉義分析
  • GC和內存分配優化
  • 同步優化

1)是否有每種情況的簡單示例? 每個答案的示例在這里會很棒。 但是也歡迎僅鏈接到講座/幻燈片/文章。

2)除了通過PrintAssembly記錄 “之前/之后”之外,如何可視化JIT更改?

JVM JIT優化的討論是一個非常廣泛的主題,值得整本書。 您詢問的列表未列出特定的優化; 相反,每個項目符號都列出了整個優化系列。 用示例描述每個人都是一項艱巨的工作,所以不要指望有人會在這里免費這樣做。

但是,這里有一些有用的鏈接可以開始研究該主題:

2)有一個名為Ideal Graph Visualizer的工具。 它依賴於-XX:PrintIdealGraphLevel選項,該選項在HotSpot的調試版本中可用。 更多信息 ”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM