什么是字节码?采用字节码的好处是什么?

什么是字节码?采用字节码的好处是什么?

1. 什么是字节码(Bytecode)

字节码是介于源代码和机器码之间的中间代码

以 Java 为例:

  • 你写的 .java 源代码 → 编译 → 生成 .class 文件

  • 这个 .class 里存的就是 字节码

它不是给人看的,也不是直接给 CPU 执行的机器码

而是给 JVM(Java 虚拟机) 执行的指令。

2. 采用字节码的好处(核心就 3 点)

一次编写,到处运行(跨平台)

  • C/C++ 编译后是机器码,Windows、Linux、macOS 互不兼容。

  • Java 编译成字节码,只要装了对应系统的 JVM,

    同一份 .class 就能在任何系统跑

    → 这就是 Java Write Once, Run Anywhere 的根源。

交给虚拟机优化,更智能、更安全

字节码由 JVM 执行,JVM 可以:

  • 即时编译(JIT):把热点字节码转成高效机器码,越跑越快

  • 内存管理、垃圾回收

  • 安全检查,防止恶意代码直接操作硬件

解耦:语言和硬件无关

只要编译成标准字节码,

不只 Java,Kotlin、Scala、Groovy 都能跑在 JVM 上。

→ 虚拟机负责屏蔽底层系统差异


一句话总结

字节码 = 虚拟机能看懂的中间指令

好处:跨平台、可优化、更安全、多语言兼容

JVM、JDK、JRE的区别与联系 2026-02-24
为什么说 Java 语言“编译与解释并存”? 2026-02-25