随笔/查看class文件JDK版本

用工具winHex或editplus十六进制编辑器打开class文件

魔数(1-4字节):它的唯一作用是用来确定这个文件是否为一个能被虚拟机接受的class文件。

class文件魔数值为 CAFEBABE(咖啡宝贝?),早在Java还称作“Oak”语言的时候(约1991年前后)就确定下来了,据Java开发小组最初的关键成员Patrick Naughto所说:“我们一直在寻找一些好玩的,容易记忆的东西,选择0xCAFEBABE是因为它象征着著名咖啡品牌Peet's Coffee中深受欢迎的Baristas”。

版本号(5-6,7-8字节):次版本号,主版本号。生成class文件的编译器的版本。可向前兼容,不可向后兼容。

随笔/查看class文件JDK版本

34对应十进制值为52,按下表所示可查询对应的JDK版本

随笔/查看class文件JDK版本

对应表取自《深入理解java虚拟机》,JDK版本不是最新,8以后可自行查找