jvm:一次编译到处运行

java为什么一次编译到处运行

java -> JAVA是一种跨平台语言,最大的优势就是它实现了,一次编译,到处运行的机制;
1、编写阶段——程序设计语言

java是程序设计语言

2、编译阶段——程序处理语言

程序处理语言包含编译器,解释器。它的作用就是把程序设计语言翻译成目标语言。
以上两者的关系就是“语言”和“翻译者”的关系。在使用语言时,我们只能说,使用这种语言去书写一段程序。编译器则是能够将某种语言的源程序进行翻译,然后生成目标程序。
不同的设计语言有不同的编译器。我们通常会说,某个编译器支持了什么语言,正如一个翻译者只懂翻译英语,法语,但是不会日语,所以翻译不了日语一样,这个编译器只识别能识别得语言并翻译这种语言。

3、运行,调试 阶段

在程序的运行阶段则是在一个特定的平台上,由这个平台来执行编译生成的程序。编译器的作用就是沟通源程序和程序的运行平台。源程序相对于一个运行平台来说是不可识别的,但当编译器将源程序编译成为这个平台所能够识别的目标语言以后,程序就可以在这个平台上运行了。Java虚拟机是一个平台,DOS 和 Windows 也是平台。

jvm

上面三个概念中已经指出了程序从源代码到运行的三个必经阶段:编码——编译——运行,调试。
所有的高级语言都需要进过这三个阶段。
JAVA的特殊特殊在哪里?——在编译阶段。

一次编译是宏观的一次编译
1、JAVA的编译过程:
java编译过程2、分解过程

第一步:Java源代码——.CLASS文件字节码,是java的第一次编译。生成的这个.class文件就是可以到处运行的文件。
在这里插入图片描述
第二步:Java字节码——到目标机器代码;执行是由JVM执行引擎来完成,JAVA的第二次编译。
在这里插入图片描述

2、到处运行的隐含条件——这里的“到处”的前提是“装有JVM”。

在这里插入图片描述总结:
java编译器把我们编写的代码,编译成.class文件只要操作系统里又jvm 就可以运行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值