當前位置:首頁 » 編程軟體 » class編譯jdk版本

class編譯jdk版本

發布時間: 2022-12-13 17:11:36

❶ 如何查看java的class文件是被哪個版本的jdk編譯

使用UE(Ultra Edit)打開.class文件,切換到16進制模式,查看第1行: CA FE BA BE 00 00 00 3200 75 07 00 02 01 00 27 ; ... .. 前8個位元組:CA FE BA BE 是固定的後面的4個位元組:00 00是次版本號次版本號後面的4個位元組:00 32是編譯源代碼的jdk版本號32(對應十進制的50):JDK1.631(對應十進制的49):JDK1.530(對應十進制的48):JDK1.42F(對應十進制的47):JDK1.3 2E(對應十進制的46):JDK1.2 編譯器的jdk版本是1.2 編譯器的jdk版本是1.6

❷ 如何查看Class文件編譯的JDK版本

查看class文件編譯的jdk版本步驟如下:

  1. 首先打開cmd命令行窗口,輸入如下指令:


❸ 怎麼看class文件的編譯版本

查看class文件編譯的jdk版本步驟如下:
首先打開cmd命令行窗口,輸入如下指令:

會輸出一些信息,大致如下:
Compiled from "HtmlCrawer.java"
public class org.eagleeye.html.HtmlCrawer extends java.lang.Object
SourceFile: "HtmlCrawer.java"
minor version: 0
major version: 50//這個便是jdk的版本信息。

❹ 如何查看Class文件編譯的JDK版本

在jar包中,用winrar解壓一個類文件,然後在命令行下面輸入
javap -verbose classname
會輸出一些信息,大致如下:

Compiled from "HtmlCrawer.java"
public class org.eagleeye.html.HtmlCrawer extends java.lang.Object
SourceFile: "HtmlCrawer.java"
minor version: 0
major version: 50
Constant pool:
const #1 = class #2; // org/eagleeye/html/HtmlCrawer
const #2 = Asciz org/eagleeye/html/HtmlCrawer;
const #3 = class #4; // java/lang/Object
const #4 = Asciz java/lang/Object;
const #5 = Asciz client;
....

後面省略了,可以看到前面有兩行:
minor version: 0
major version: 50
表示了類文件的版本

❺ 如何查看Class文件編譯的JDK版本

由於JDK一般是向下兼容的,所以有時候本地的JDK版本比類庫的版本低,往往會拋出java.lang.UnsupportedClassVersionError: Bad version number in .class file。
有時候需要確認到底是哪個類的版本低。所以需要確認類的編譯JDK的版本。

可用二進制編輯工具(例如EmEditor)打開類文件,會有以下的顯示:

CA FE BA BE 00 00 00 32.....

而上面的32是編譯這個類的JDK版本,32表示是50,是JDK1.6;31表示49,是JDK1.5;30表示48,是JDK1.4......依次類推。

如編譯上面的類的JDK為JDK1.6。所以你在環境是JDK1.6以下的引用這個類,就會拋出版本不對的異常。

❻ 如何查看Class文件編譯的JDK版本

准備好要查看的class文件,本例使用Tools.class文件。
如何查看class文件的jdk版本
使用Ultra Edit打開class文件
如何查看class文件的jdk版本
如果顯示效果如下圖一樣,則表示默認使用的是16進制方式顯示。
如何查看class文件的jdk版本
如果不是16進制方式,則顯示為下圖的亂碼樣式。此時需要點擊菜單上的【切換為十六進制編輯模式】
如何查看class文件的jdk版本
只看第一行的數據:
(1)前面8個位元組CA FE BA BE是固定的。
(2)隨後4個位元組00 00是次版本號
(3)再後面的4個位元組00 34是JDK的版本號(JDK1.8)。
JDK版本號對應關系如下:
34(對應十進制的50):JDK1.8
33(對應十進制的50):JDK1.7
32(對應十進制的50):JDK1.6
詳細見第5步.......
如何查看class文件的jdk版本
詳細的JDK版本對應關系:
34(對應十進制的50):JDK1.8
33(對應十進制的50):JDK1.7
32(對應十進制的50):JDK1.6
31(對應十進制的49):JDK1.5
30(對應十進制的48):JDK1.4
2F(對應十進制的47):JDK1.3
2E(對應十進制的46):JDK1.2

❼ 怎麼知道Java class文件JDK編譯的版本號

首先用一些二進制查看器打開class文件,比如od或者hexmp工具。

od -x hello.class
或者
hexmp hello.class
我們會看到類似於下面的輸出:
feca beba 0000 3300

這里我們看到前四個位元組是Java class的特殊符號,叫做magic欄位,用來告訴JVM這是個class文件,之後的兩個位元組是minor版本號,再之後的兩個位元組是major版本號,我們看到時33,對應下表我們知道33時JDK1.7編譯的版本號。

十六進制
JDK1.5 31
JDK1.6 32
JDK1.7 33
JDK8 34

因為Java是向後兼容的,所以高版本的兼容低版本的,所以有時候你遇到java報: unsupported major.minor version 51,那就是你用低版本的虛擬機去運行高版本JDK編譯的class文件了,所以低版本的虛擬機就抱怨了。這里的51是十進制,也就是十六進制的33,及對應JDK1.7,如果出現這種錯誤,你肯定是使用低於1.7版本的虛擬機去運行這個了。

熱點內容
隨機啟動腳本 發布:2025-07-05 16:10:30 瀏覽:513
微博資料庫設計 發布:2025-07-05 15:30:55 瀏覽:18
linux485 發布:2025-07-05 14:38:28 瀏覽:298
php用的軟體 發布:2025-07-05 14:06:22 瀏覽:747
沒有許可權訪問計算機 發布:2025-07-05 13:29:11 瀏覽:421
javaweb開發教程視頻教程 發布:2025-07-05 13:24:41 瀏覽:675
康師傅控流腳本破解 發布:2025-07-05 13:17:27 瀏覽:229
java的開發流程 發布:2025-07-05 12:45:11 瀏覽:673
怎麼看內存卡配置 發布:2025-07-05 12:29:19 瀏覽:274
訪問學者英文個人簡歷 發布:2025-07-05 12:29:17 瀏覽:824