【正确答案】
C
【答案解析】 Java程序被编译后并不是生成能在硬件平台上可执行的代码,而是生成了一个中间代码。不同的硬件平台上会安装有不同的JVM(Java Virtual Machine,Java虚拟机),由JVM来负责把中间代码翻译成硬件平台能执行的代码。由此可以看出,JVM不具有平台独立性,与硬件平台是相关的。
从以上分析可知,Java程序的下一层环境为JVM,而JVM是运行在操作系统上的,操作系统又运行在硬件上。因此,一个Java程序运行从上到下的环境次序是Java程序、JRE/JVM、操作系统和硬件。所以,选项C正确。