每日一得

          不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開發(fā)
          最近關(guān)心的內(nèi)容:SSH,seam,flex,敏捷,TDD
          本站的官方站點(diǎn)是:顛覆軟件

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            220 隨筆 :: 9 文章 :: 421 評(píng)論 :: 0 Trackbacks
          key words:jdk錯(cuò)誤,Unsupported major.minor version

          今天用一個(gè)工作流的產(chǎn)品,非要用jdk1.4的版本,沒辦法,只好切換回來,但是換回來后打開頁面jsp出錯(cuò),提示Unsupported major.minor version 49.0錯(cuò)誤,到網(wǎng)上查了一下,49.0錯(cuò)誤屬于jdk1.5的錯(cuò)誤,但是我的jdk1.5已經(jīng)刪除了啊?怎么回事呢?

          最后想起來,可能是jboss中的1.5 版本產(chǎn)生臨時(shí)文件class文件刪除,刪除后OK


          資料:Unsupported major.minor version 49.0
          posted on 2006-11-08 10:13 Alex 閱讀(587) 評(píng)論(2)  編輯  收藏 所屬分類: java

          評(píng)論

          # re: Unsupported major.minor version 49.0錯(cuò)誤 2007-05-13 20:54 隔夜黃鶯
          如果你看過java虛擬機(jī)規(guī)范,你就很容易理解 major.minor version是什么,那是字節(jié)碼的主次版本好,jdk1.5默認(rèn)編譯出來的是49.0,也就是31 00
          jdk1.4編譯出來的是48.0,也就是30 00
          版本為49.0的字節(jié)碼放在1.4的JVM中將無法裝載

          用二進(jìn)制編輯器,如ultraedit打開java class文件,第五至第七個(gè)字節(jié)就是此版本號(hào)和主版本號(hào),如jdk1.5編譯器編譯出來的class文件的頭八個(gè)字節(jié)是

          CA FE BA BE 00 00 00 31 版本好是49.0
          同時(shí)注意到?jīng)]有 頭四個(gè)字節(jié)好像有點(diǎn)意義,對(duì),他是java字節(jié)碼的魔數(shù) magic number,是一種咖啡的名字 cafe babe,它表明那是個(gè)java的字節(jié)碼

          如果用jdk1.5的編譯器 javac,用參數(shù) -target 1.4 可以制定編譯出的目標(biāo)代碼能在jvm1.4下運(yùn)行,也就是版本為48.0的class
          CA FE BA BE 00 00 00 31

          知其然,知其所以然  回復(fù)  更多評(píng)論
            

          # re: Unsupported major.minor version 49.0錯(cuò)誤 2007-05-13 20:56 隔夜黃鶯
          建議看看JVM規(guī)范,理解字節(jié)碼操作
          歡迎訪問我的博客 http://unmi.blogcn.com
          多多交流。  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 峨眉山市| 淄博市| 得荣县| 宽城| 新乐市| 侯马市| 黔西县| 全椒县| 河西区| 长泰县| 凤山县| 台中市| 黎城县| 沁源县| 修水县| 永城市| 平塘县| 黔江区| 乐山市| 梓潼县| 湖北省| 五大连池市| 桐庐县| 福安市| 泰兴市| 页游| 定日县| 兴义市| 霍山县| 商洛市| 莱州市| 页游| 灌云县| 台山市| 铜陵市| 略阳县| 化德县| 南漳县| 会理县| 那坡县| 都江堰市|