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

被折叠的 条评论
为什么被折叠?



