方式一:使用文本编辑工具EditPlus 使用EditPlus打开该class文件,字符集选择16进制(Hex viewer)。 仅仅看第一行数据,前面8个字节CA FE BA BE 是固定的。 之后4个字节00 00 是次版本。 次版本后面的4个字节00 34 就是jdk的版本。 JDK版本与16进制对照关系如下: JDK1.5 31 JDK1.6 32 JDK1.7 33 JDK8 34 方...
Linux系统上,可以使用yum install vim或者apt install vim安装vim 2、使用vim打开class文件 例如下面 vimQuickidApplication.class 转十六进制,按下英文“:”,输入:%!xxd,:%!xxd -r返回正常格式。 看到第一行,前面cafe babe是固定标识,之后第一个的4个字节为小版本号,第二个4个字节为主版本号。 对应说明如下:...
某个版本的 JVM 能接受class 文件的最大主版本号不能超过对应 JDK 带相应 target 参数编译出来的 class文件的版本号。 上面那句话有点长,一口气读过去不是很好理解,举个例子:1.4 的 JVM 能接受最大的 class 文件的主版本号不能超过用 1.4JDK 带参数 -target 1.4 时编译出的 class 文件的主版本号,也就是 ...
生成的Class文件名为HelloWorld.class。接下来,我们可以使用javap命令查看Class文件的版本: javap-vHelloWorld.class 1. 运行上述命令后,命令行将输出Class文件的详细信息,包括版本号。我们可以在输出信息中找到major version字段,这就是Class文件的版本。例如: Classfile /path/to/HelloWorld.class Last modified Jan 1,...
public class ClassVersionChecker { public static void main(String[] args) throws IOException { for (int i = 0; i < args.length; i++) checkClassVersion(args[i]); } private static void checkClassVersion(String filename) throws IOException ...
javap -v <class文件路径> 例如,查看HelloWorld.class文件的jdk编译版本,可以使用以下命令: javap -v HelloWorld.class 输出如下: Compiled from "HelloWorld.java"public class HelloWorld {public HelloWorld();Code:0: aload_01: invokespecial #1 // Method java/lang/Object."<init>":()V4: returnpublic stat...
用16进制查看文本 版本 相应十进制 jdk版本2E 46 jdk1.22F 47 jdk1.330 48 jdk1.431 49 jdk1.532 50 jdk1.633 ...
正文查看Javaclass文件版本的方法查看Javaclass文件版本的方法查看的方法:1.先装一个DJjavaDecompiler这个工具网上到处都是,主要就是反编译Javaclass文件。2.在DJJavaDecompiler的菜单中View->classveioninfo,就会弹出对话框如:MajorVeion:49MinorVeion:0参照下面的引用,可知class由编译而来。jackpk已经亲测,以上方法...
使用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):JDK...
linux下找到class文件输入的命令:hexdump -C YourClassFile.class 前四个字节为固定的 CA FE BA BE ,接下来的四个字节为次版本号(0000)和主版本号(0033)。33:JDK1.7 32:JDK1.6 31:JDK1.5 30:JDK1.4 2F:JDK1.3 windows下可以用ue编辑器打开查看第一行 ...