GalaxyPilot —— D.S


                  生命不熄,戰(zhàn)斗不止
          數(shù)據(jù)加載中……

          用javap查看編譯版本

          我們可以用javap命令查看class文件的編譯版本。
          比如對Worke.class使用javap命令:javap -verbose Worker
          我將看到Worker的反編譯結(jié)果。其中前幾行如下:
          Compiled from "Worker.java"
          public class com.teleca.robin.Worker extends java.lang.Thread
            SourceFile: "Worker.java"
            minor version: 0
            major version: 49
            Constant pool:
          上面的minor version: 0和major version: 49就是編譯Worke.class時使用的jdk編譯版本號。
          但是它并不是我們所熟悉的jdk版本號(比如jdk1.5)。
          不過我們可以把從 JDK 1.1 到 JDK 1.7 編譯器編譯出的 class 的默認 minor.major version 匯總下就知道對應(yīng)關(guān)系了。
          JDK 編譯器版本target 參數(shù)十六進制 minor.major十進制 minor.major
          jdk1.1.8不能帶 target 參數(shù)00 03 00 2D45.3
          jdk1.2.2不帶(默認為 -target 1.1)00 03 00 2D45.3
          jdk1.2.2-target 1.200 00   00 2E46.0
          jdk1.3.1_19不帶(默認為 -target 1.1)00 03 00 2D45.3
          jdk1.3.1_19-target 1.300 00   00 2F47.0
          j2sdk1.4.2_10不帶(默認為 -target 1.2)00 00   00 2E46.0
          j2sdk1.4.2_10-target 1.400 00   00 3048.0
          jdk1.5.0_11不帶(默認為 -target 1.5)00 00   00 3149.0
          jdk1.5.0_11-target 1.4 -source 1.400 00   00 3048.0
          jdk1.6.0_01不帶(默認為 -target 1.6)00 00   00 3250.0
          jdk1.6.0_01-target 1.500 00   00 3149.0
          jdk1.6.0_01-target 1.4 -source 1.400 00   00 3048.0
          jdk1.7.0不帶(默認為 -target 1.6)00 00   00 3250.0
          jdk1.7.0-target 1.700 00   00 3351.0
          jdk1.7.0-target 1.4 -source 1.400 00   00 3048.0
          Apache Harmony 5.0M3不帶(默認為 -target 1.2)00 00   00 2E46.0
          Apache Harmony 5.0M3-target 1.400 00   00 3048.0
          注1:javac 有個 -target 參數(shù),編譯時可以通過
          target參數(shù)來設(shè)置編譯時所使用的jdk版本。比如如果目標 JVM 是 1.3 的話,編譯選項就可以用 -target 1.3 -source 1.3 了。
          相應(yīng)的如果使用 ant ,編譯時可以通過target參數(shù)來設(shè)置編譯時所使用的jdk版本。比如:
          <javac target="1.4" source="1.4" ............................/>
          注2:javac中source和target 的意義
          -source <版本>                              提供與指定版本的源兼容性
          -target <版本>                               生成特定 VM 版本的類文件
          source才是真正的指明代碼的兼容性,target則是指定了生成class的格式的版本號,即生成特定 VM 版本的類文件。

          posted on 2012-05-29 14:34 舵手 閱讀(1822) 評論(0)  編輯  收藏


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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 台湾省| 灵川县| 华亭县| 汝阳县| 宁海县| 冀州市| 六盘水市| 益阳市| 焦作市| 南靖县| 老河口市| 锡林郭勒盟| 广河县| 鹿泉市| 民和| 浑源县| 肃南| 三都| 江孜县| 华坪县| 岑溪市| 肥东县| 海宁市| 托克逊县| 陕西省| 南充市| 德庆县| 和林格尔县| 新沂市| 八宿县| 松阳县| 维西| 江都市| 荔波县| 怀来县| 五河县| 广水市| 阿合奇县| 休宁县| 阳谷县| 天气|