Java虚拟机
指令集存在的目的是为了保证二进制文件的兼容性。每个独立宿主操作系统需要对Java虚拟机及运行时环境的不同实现。这些Java虚拟机以相同方式语义解析字节码，但具体实现可能有所不同。比模拟字节码更复杂的是在兼容且高效的情况下实现必须映射至不同的宿主操作系统的。