簡體   English   中英

智能JVM和JIT微優化

[英]Smart JVM and JIT Micro-Optimizations

隨着時間的推移,Sun的JVM和JIT變得非常聰明。 以前不再需要將常識作為必要的微優化的東西,因為它會得到照顧。

例如,過去應該將所有可能的類標記為final,因此JVM會盡可能多地內聯代碼。 但是現在,JIT根據在運行時加載的類知道你的類是否是最終的,如果加載一個類使原始類不可能,它會取消內聯方法並取消標記為最后。

JVM或JIT還為您做了哪些其他智能微優化?

編輯 :我把它做成了社區維基; 我想隨着時間的推移收集它們。

它令人印象深刻。 所有這些都是你在C ++中can't做到的事情(當然Java也是如此)。 請記住,Java的早期版本開始由沒有這些東西的“慢”的美譽,我們保留隨着時間的推移顯著改善。 這仍然是一個很大的研究領域。

Oracle有一個關於Hotspot JVM中使用的性能技術的wiki。

Java在內聯方面更加智能

  • 內聯代碼僅在運行時可用,甚至是動態生成的。
  • 內聯虛擬方法(一次最多兩個)
  • 對內聯方法及其內聯方法執行轉義分析。 (在C ++中更難做到)

暫無
暫無

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

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