请解释 Java 字节码的概念及其在 Java 程序执行过程中的作用。
考察说明
考查对 Java 字节码本质及跨平台机制的理解。
回答思路
- 【回答框架 1】Java 字节码是 Java 源代码经编译器编译后生成的中间代码,是一种平台无关的二进制指令集,存储在 .class 文件中。
- 【回答框架 2】Java 虚拟机(JVM)负责加载字节码并通过解释或即时编译(JIT)方式执行,从而屏蔽底层操作系统和硬件的差异,实现一次编写、到处运行。
- 【回答框架 3】字节码指令集包含加载、存储、算术、类型转换、对象创建、方法调用等多种操作,每条指令有固定助记符和操作数。
- 【回答框架 4】通过 javap 命令可查看字节码信息,字节码还支持增强语法和动态特性,如反射、泛型擦除等也在字节码层面体现。
- 【关键点 1】字节码是 Java 跨平台的基础,运行于 JVM 而非物理机。
- 【关键点 2】源文件需先编译为 .class 字节码,再由 JVM 解释或 JIT 编译执行。
- 【关键点 3】字节码是一种中间表示,与具体操作系统和 CPU 无关。
- 【易错点 1】不能将字节码等同于机器码,字节码无法直接由硬件执行。
- 【易错点 2】不同 JVM 实现可能对字节码执行方式有差异,但字节码规范是统一的。