如鵬網(wǎng) 大學(xué)生計算機學(xué)習(xí)社區(qū)

          CowNew開源團隊

          http://www.cownew.com 郵件請聯(lián)系 about521 at 163.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            363 隨筆 :: 2 文章 :: 808 評論 :: 0 Trackbacks

          源碼:
          public class Main
          {
           public void main(String[] args)
           {
            int a = (int) 3.14;
            a++;
            a=a+1;
            a=a+2;
            System.out.println(3+4);
            List list = new ArrayList();
            list.add(1);
            
            List<String> list2 = new ArrayList<String>();
            list2.add("333");
           }
          }

          反編譯以后:
          public class Main
          {
            public void main (String[] args)
            {
              int a = 3;
              a++;
              a++;
              a += 2;
              System.out.println (7);
              java.util.List list = new ArrayList ();
              list.add (Integer.valueOf (1));
              java.util.List list2 = new ArrayList ();
              list2.add ("333");
            }
          }

          posted on 2007-09-30 10:46 CowNew開源團隊 閱讀(1413) 評論(7)  編輯  收藏

          評論

          # re: JDT編譯器對Java代碼的編譯優(yōu)化一瞥 2007-09-30 10:54 BeanSoft
          泛型是靠編譯器實現(xiàn)的 一點不假 呵呵 內(nèi)核還是 1.4  回復(fù)  更多評論
            

          # re: JDT編譯器對Java代碼的編譯優(yōu)化一瞥 2007-09-30 12:49 sswhsz
          這個...談不上是優(yōu)化吧

          泛型只能編譯成那樣,JRE沒有泛型的概念
          3+4是個常量表達式,任何語言的編譯器編譯以后存放的都是7
          只有a=a+1,變成a++,算是優(yōu)化?  回復(fù)  更多評論
            

          # re: JDT編譯器對Java代碼的編譯優(yōu)化一瞥 2007-09-30 13:52 千里冰封
          泛型確實是靠編譯器來實現(xiàn)的  回復(fù)  更多評論
            

          # re: JDT編譯器對Java代碼的編譯優(yōu)化一瞥[未登錄] 2007-10-01 09:19 temp
          @sswhsz
          “3+4是個常量表達式,任何語言的編譯器編譯以后存放的都是7”,這個是編譯原理課程中代碼優(yōu)化的最經(jīng)典的一個場景;“只有a=a+1,變成a++,算是優(yōu)化?”,a++運算速度比a=a+1快很多。  回復(fù)  更多評論
            

          # re: JDT編譯器對Java代碼的編譯優(yōu)化一瞥 2007-10-01 23:26 白色天堂
          看不出任何優(yōu)化
          int a = (int) 3.14;
          a++;
          a=a+1;
          a=a+2
          這些完全可以優(yōu)化為a=7  回復(fù)  更多評論
            

          # re: JDT編譯器對Java代碼的編譯優(yōu)化一瞥 2007-10-03 09:14 Unmi
          談不上什么優(yōu)化,如果編譯器聰明一點就應(yīng)該像樓上一樣
          int a = (int) 3.14;
          a++;
          a=a+1;
          a=a+2
          優(yōu)化為 int a=7;
          編譯器常做簡單優(yōu)化比如
          編譯時計算
          像上面,還有 String s="s"+"t"+"ing"; 就會優(yōu)化成
          String s = "string"
          指令的優(yōu)化
          int i=2;
          int j=i*8;
          就會優(yōu)化為 int j = i<<3   回復(fù)  更多評論
            

          # re: JDT編譯器對Java代碼的編譯優(yōu)化一瞥 2007-10-04 15:30 ZelluX
          這個優(yōu)化也太簡單了吧  回復(fù)  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 丰台区| 丰城市| 兴仁县| 孙吴县| 白银市| 吴忠市| 江安县| 邳州市| 广水市| 久治县| 印江| 潜山县| 平果县| 会泽县| 阿克陶县| 论坛| 乃东县| 马公市| 岫岩| 桐梓县| 绍兴市| 顺义区| 成都市| 焦作市| 阿拉善右旗| 乐安县| 朔州市| 甘孜县| 高淳县| 察雅县| 五常市| 灵山县| 富裕县| 三亚市| 靖远县| 乌海市| 密山市| 松溪县| 文登市| 隆安县| 堆龙德庆县|