Discuss / Java / 查看class编译的版本

查看class编译的版本

Topic source

vscode安装hex插件可以打开16进制文件,仅仅看.class第一行数据,前面8个字节CA FE BA BE 是固定的。之后4个字节00 00 是次版本。次版本后面的4个字节00 3F 是jdk的版本。如我这里使用的是jdk19 

参考(1条消息) 查看class编译的版本_油纸伞灬的博客-CSDN博客

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

没事别看csdn的文章。

查看class版本用javap -v:

$ javap -v Base.class
Classfile /path/to/Base.class
  Last modified Sep 21, 2022; size 513 bytes
  SHA-256 checksum dda79e...
  Compiled from "Base.java"
public class Base
  minor version: 0
  major version: 63

明明白白告诉你版本号是63

Joker.fu_95

#3 Created at ... [Delete] [Delete and Lock User]

哈哈,csdn太乱了

那看哪里的文章啊~

Junes_99994

#5 Created at ... [Delete] [Delete and Lock User]

https://stackoverflow.com/questions/1096148/how-to-check-the-jdk-version-used-to-compile-a-class-file

Linux :  javap -verbose Base.class | grep "major"

windows :javap -verbose Base.class | findstr "major"

岁月留痕

#6 Created at ... [Delete] [Delete and Lock User]

那些人就喜欢抖机灵秀操作误导人,之前被坑过

这不就是Java虚拟机基本知识么


  • 1

Reply