通过 Java 虚拟机 ,也就是 JVM
编码 → Javac 编译字节码 → JVM 编译机器码 → 运行 → 调试
Java 实现跨平台的核心在于将编译拆成了两步,先通过 Javac 编译成了 “.class” 类型的字节码,在通过JVM 生成可以运行的机器码,对 “编码” 和 “操作环境” 实现了解耦,通过中间层 JVM 来进行联系。对底层 API 的调用在代码中都是一致的,而在编译时根据 JVM 平台的不同而不同。
Java为什么是跨平台的
为什么说 Java 既是编译型语言又是解释型语言
Java 程序编译和执行过程