java为什么是一次编译,多次解释

举报
小奇JAVA 发表于 2022/03/30 00:25:34 2022/03/30
【摘要】 前言 在编程语言中分为编译型语言、解释型语言,而我们的java语言既是编译型的也是解释型的,因为比如c语言是编译型的,因为我们将c语言的源代码编译过后就形成了.exe文件,这样windows系统就可以直接...

前言
在编程语言中分为编译型语言、解释型语言,而我们的java语言既是编译型的也是解释型的,因为比如c语言是编译型的,因为我们将c语言的源代码编译过后就形成了.exe文件,这样windows系统就可以直接运行,然而我们的java是先将源代码编译成.class文件,然后再由我们的jvm虚拟机解释为我们操作系统所认识的操作指令。
操作
我们先用文本文档新建一个HelloWord.txt文件,然后写上一个简单的HelloWord代码,然后将.txt后缀改为.java,然后cmd运行命令行来编译解释这段程序。
****
1、编译,在cmd中找到文件所在的位置,然后执行 javac HelloWord.java指令,如下图

在这里插入图片描述
然后我们可以看到在之前的文件夹内多了一个HelloWord.class的文件,如下图
在这里插入图片描述
但是我们打开这个.class文件是乱码的,是看不懂的,我们可以通过运行 javap -v HelloWord.class > HelloWord.txt 指令将.class反编译一下,成为可供查看的代码,如下图
在这里插入图片描述
然后我们打开这个txt文件可以看到内容如下
在这里插入图片描述
这个就是java编译器将我们的源代码编译为.class文件的内容,这样编译一次就可以了,然后我们一般将我们编译好的.class文件发给用户,用户想使用的话,只需要使用jvm去解释就可以运行了,所以也就是为什么java语言是一次编译,多次解释。

文章来源: xiaoqijava.blog.csdn.net,作者:学无止境小奇,版权归原作者所有,如需转载,请联系作者。

原文链接:xiaoqijava.blog.csdn.net/article/details/111813123

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。