Java是编译语言还是解释性编程语言?

Java实现通常使用两步编译过程。Java编译器将Java源代码编译为字节码。字节码由Java虚拟机(JVM)执行。现代JVM使用称为即时(JIT)编译的技术将字节码编译为硬件CPU在运行时即时理解的本机指令。

JVM的某些实现可能选择解释字节码,而不是JIT将其编译为机器代码并直接运行。尽管它仍然被认为是“解释器”,但它与读取和执行高级源代码的解释器有很大不同(即,在这种情况下,不直接解释Java源代码,而是对Java编译器的输出字节码进行解释)。

总而言之,根据执行环境的不同,字节码可以是:

  • 提前编译并作为本机代码执行(类似于大多数C ++编译器)compiled ahead of time and executed as native code (similar to most C++ compilers)
  • 及时编译并执行 compiled just-in-time and executed
  • 解释的 interpreted
  • 由支持的处理器直接执行(字节码是某些CPU的本机指令集) directly executed by a supported processor (bytecode is the native instruction set of some CPUs)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值