JVM 跨平台原理 — 程序设计选择题
题目
某实验课上,甲同学在 Windows 平台用 JDK 编译 Hello.java 得到 Hello.class,随后将 Hello.class 通过 U 盘拷贝到同学的 macOS 和 Ubuntu 电脑上运行。三位同学的电脑均只安装了各自操作系统对应版本的 JRE。关于 Hello.class 能在三种系统上运行的原因,下列说法正确的是:
A. Hello.class 中包含三种系统的机器码,因此三台电脑都能识别运行
B. 三台电脑运行的是同一个通用 JVM,JVM 本身跨所有平台
C. Hello.class 是面向 JVM 的字节码,各平台配有对应版本的 JVM 即可运行同一份字节码
D. 编译时甲同学需分别针对 macOS 和 Ubuntu 重新编译生成不同的字节码文件