.class文件JDK版本

本文探讨了Java编译生成的.class文件如何携带编译器版本信息,并解释了不同JDK版本之间的兼容性问题。当尝试在较低版本的JVM上运行由较高版本编译器编译的.class文件时,可能会遇到UnsupportedClassVersionError错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.class文件JDK版本

java编译生成的.class文件会带上java编译器的版本,java版本是向下支持的,在低版本的jvm上运行高版本编译出来的class会报类似以下错误 Caused by: java.lang.UnsupportedClassVersionError: … : Unsupported major.minor version 51.0

用编译器打开class文件,会发现开头是固定的,会带上编译器的版本信息

cafe babe 0000 0032     十进制50       JDK1.6
cafe babe 0000 0033     十进制51       JDK1.7
cafe babe 0000 0034     十进制52       JDK1.8

上述告警显示不支持version 51.0,运行jre应该是1.7以下版本的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值