Java编译器与JVM解释器区别理解

编译器:高级语言与机器语言之间的桥梁
JVM解释器:充当字节码文件与操作系统之间的桥梁

首先与Java之外的编译器区分一下
例如c语言的编译器——直接面向计算机
把源代码翻译成计算机能够理解的机器语言
本质:高级语言到机器语言
Java编译器javac——面向JVM虚拟机
把源代码翻译成JVM能够理解的语言,也就是字节码,文件格式是.class(用二进制记录)
本质:高级语言到字节码(机器语言)
JVM解释器——面向安装了此Java虚拟机的计算机
把Java虚拟机理解的语言(字节码)翻译成安装了此Java虚拟机的计算机能够理解的语言(机器语言)
本质:字节码(机器语言)到机器语言

因为java程序既要编译也要经过JVM的解释运行,所以说Java被称为半解释语言
字节码:字节码文件.class在计算的体系结构中本质上对应的是一种机器语言(而这里的机器叫作JVM),所以JVM本身是可以直接运行这里的.class文件,用二进制记录。

Java程序运行步骤**:
一、源文件由编译器编译成字节码
二、字节码由java虚拟机解释运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值