java如何查看jar编译的jdk版本

方法一、javap命令

javap命令可以用于反编译java class文件。查看jar包的编译版本首先是将jar包解压,然后再选择其中一个class文件,查看major版本号
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
Java 9 uses major version 53

1. linux终端命令
$ javap -verbose MyClass | grep "major"

2. windows终端命令
$ javap -verbose MyClass | findstr "major"
public class Test {
	@Override
	public String toString() {
		return "I'm class of Test";
	}
}
a)编译测试1.6
$ javac -source 1.6 -target 1.6 Test.java
warning: [options] bootstrap class path not set in conjunction with -source 1.6
1 warning

$ javap -verbose Test.class | grep 'major'
major version: 50

b)编译测试1.8
$javac -source 1.8 -target 1.8 Test.java
$ javap -verbose Test.class | grep 'major'
major version: 52

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

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

java1.8编译的class文件

总结

一般只需要用javap命令就好了,可读性比较强
参考资料
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值