• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • JVM的幾點性能優化(2)

    發表于:2014-03-31來源:不祥作者:Java譯站點擊數: 標簽:性能優化
    當然不是了。在多次執行perform方法后,編譯器會根據它收集的數據發現,95%的調用對象都是GangnamStyle實例。這樣的話,JIT編譯器會很樂觀將虛方法的調用

      當然不是了。在多次執行perform方法后,編譯器會根據它收集的數據發現,95%的調用對象都是GangnamStyle實例。這樣的話,JIT編譯器會很樂觀將虛方法的調用優化掉。也就是說,編譯器會直接生成本地代碼 ,對應的Java實現大概是這樣的:

      public static void perform(Song s) {

      if (s fastnativeinstanceof GangnamStyle) {

      System.out.println("Oppan gangnam style!");

      } else {

      s.sing();

      }

      }

      由于這個優化取決于運行時信息,它可以優化掉大部分的sing方法調用,盡管這個方法是多態的。

      JIT編譯器還有很多很有意思的技巧,這只是介紹了其中的幾點,讓你能感覺到我們代碼在執行的時候,JVM在底層都做了些什么優化。

      我能幫助JIT做些什么優化嗎

      JIT編譯器是針對一般人的編譯器;它是用來優化正常寫出的代碼的,它會去分析日常標準寫法中的一些模式。不要刻意寫代碼去幫助JIT編譯器進行優化就是對它最好的幫助 ——就正常寫你自己的代碼就好了。

      譯注:JIT還有許多很多意思的優化,這里只是列舉出了幾點。當然了,你也不用太在意它,就像文中最后說的,正常寫好自己的代碼就好了。

      原創文章轉載請注明出處:JVM的幾點性能優化

    原文轉自:http://it.deepinmind.com/jvm/2014/03/28/jvm-performance-magic-tricks.html

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>