应用程序的运行环境可以用操作系统和硬件来表示,而且Windows应用程序不能直接在macOS上运行,PC能安装Windows以外的操作系统,Java虚拟机可以运行编译为字节码的Java程序。引导装入的功能为启动操作系统。一般来说,应用程序的运行环境是操作系统的类型以及硬件的类型和性能指标。只要针对不同的环境准备专用的Java虚拟机,就可以让相同的字节码在各种环境中运行。
运行环境等于操作系统+硬件,Windows消除CPU之外的硬件差异,计算机的硬件不只有CPU,还有用来储存程序指令和数据的内部,通过I/O链接的键盘,显示器,硬件,打印机等外部设备。在不同的计算机中。这些外部设备的访问方式也有所不同。在任何地方都能提供相同运行环境的Java虚拟机。