如何查看JAVA类文件的编译JDK版本信息

方法一、javap命令

javap命令可以用于反编译java class文件。查看jar包的编译版本首先是将jar包解压,然后再选择其中一个class文件,查看major版本号

ou're looking for this on the command line (for a class called MyClass):

1. linux终端命令

$ javap -verbose MyClass | grep "major"

On Unix/Linux:

$JAVA_HOME/bin/javap -verbose MyClass | grep "major"

2. windows终端命令(注:需要配置环境变量到javap下面,或者在D:\Program Files\Java\jdk1.8.0_144\bin 下面运行,路径根据自己安装的jdk替换。)

$ javap -verbose MyClass | findstr "major"

On Windows:

%JAVA_HOME/bin/javap -verbose MyClass | findstr "major"

You want the major version from the results. Here are some example values:

  • Java 1.2 uses major version 46
  • Java 1.3 uses major version 47
  • Java 1.4 uses major version 48
  • Java 5 uses major version 49
  • Java 6 uses major version 50
  • Java 7 uses major version 51
  • Java 8 uses major version 52
  • .....

例如:

$ javap -verbose Test.class | grep 'major'

major version: 50

 

方法二、根据class文件结构直接查看二进制码

class文件的二进制布局如下:

占位大小(byte字节)说明备注
4魔法数字,一般用来标识改文件为class文件CAFEBABE固定值
2较小版本的使用,可是值一直为00本人还没明白意义
2class主要支持的格式版本 
   

java1.6编译的

java1.8编译的class文件

总结

一般只需要用javap命令就好了,可读性比较强

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值