目录
一、魔数
1.1、魔数的概述
- 一、魔数
- 1.1、魔数的概述
- 1.2、魔数的作用
- 1.3、版本号
- 二、通过Binary Viewer工具查看编译后的Class文件
- 2.1、Binary Viewer工具的下载与安装
- 2.2、Binary Viewer工具查看编译后的Class文件
- 每个Class文件的头4个字节称为魔数。
- Class文件的魔数的获得很有“浪漫气息”,值为0xCAFEBABE(咖啡宝贝?),这个魔数值在Java还称做“Oak”语言的时候(大约是1991年前后)就已经确定下来了。
- 确定这个文件是否为一个能被虚拟机接收的Class文件。
-
紧接着魔数的4个字节存储的是Class文件的版本号:第5和第6个字节是次版本号(minor Version),第7和第8个字节是主版本号(Major Version)。
-
Java的版本号是从45开始的,JDK1.1之后的每个JDK大版本发布主版本号向上加1。
-
最新的JDK1.7,可生成的Class文件主版本号最大值是51.0。
-
JDK1.1到JDK1.7,主流JDK版本编译器输出的默认和支持的Class文件版本号如下表:
译器版本-target参数十六进制版本号十进制版本号JDK1.1.8不能带target参数00 03 00 2D45.3JDK1.2.2不带(默认为 -target 1.1)00 03 002D45.3JDK1.2.2-target 1.200 00 002E46.0JDK1.3.1_19不带(默认为 -target 1.1)00 03 00 2D45.3JDK1.3.1_19-target 1.300 00 00 2F47.0JDK1.4.2_10不带(默认为 -target 1.200 00 00 2E46.0JDK1.4.2_10-target 1.400 00 00 3048.0JDK1.5.0_11不带(默认为 -target 1.500 00 00 3149.0JDK1.5.0_11-target 1.4 -source 1.400 00 00 3048.0JDK1.6.0_01不带(默认为 -target 1.600 00 00 3250.0JDK1.6.0_01-target 1.500 00 00 3149.0JDK1.6.0_01-target 1.4 -source 1.400 00 00 3048.0JDK1.7.0不带(默认为 -target 1.700 00 00 3351.0JDK1.7.0-target 1.600 00 00 3250.0JDK1.7.0-target 1.4 -source 1.400 00 00 3048.0
- 参考lz此博文链接:https://wwwxz.blog.csdn.net/article/details/107087958
-
代码
public class Test2 { public static void main(String[] args) { System.out.println("hello world"); } }
-
查看编译后的class文件