Java为什么说是半编译半解释型的跨平台语言

        Java是一门半编译半解释型的跨平台语言,那么这个半编译与半解释是怎么回事呢?下面的文章将为你详细进行剖析。

        通常来说,我们的Java程序在本地机运行的过程中会产生out/target的文件夹,这些文件夹下存储着我们所编写的程序代码的内容,可能细心一点的小伙伴就会发现,在target目录下的文件的后缀名都是.class,而我们编写完的文件的后缀名是.java,那么他们之间的区别是什么呢?

        在新手期的时候,老师通常会先教我们一个如何快速尝试运行Java版本的Hello World的方法。首先,我们会根据Java语法写出该段程序,然后保存进文件,

下一步是打开terminal(cmd),然后输入javac Hello.java,然后我们就可以得到一份Hello.class的文件啦,而这个Hello.class文件,就是我们通常说的字节码文件

​​​​​​

 

 例如这份简单的HelloWorld的文件,我们想要运行它也是十分简单的,只需要敲入java Hello即可运行代码

 

         ok,那么究竟这两个命令是做什么用的大家也都大致清楚了,javac就是把我们可阅读的代码编译成字节码文件,那么我们来看下这份字节码文件是什么样的吧

        这样的一份字节码文件,底层系统依然无法理解我们的程序想要的是什么,因此需要有一个工具人将我们的意图解释给机器停,于是就产生了解释器,也就是我们的java指令去调用的程序;解释器的工作是把字节码文件解释成底层指令,然后去执行这些底层指令,达成我们需要的效果,也就是说,底层真正在执行什么样的指令完全依赖于虚拟机的解释,开发者只需要关注上层的应用开发,无需过度去关心底层实现,将这些底层实现交给虚拟机开发者去维护即可,真正做到一份代码,到处运行的效果,就是所谓的Write Once,Run Anywhere,因此我们说Java是一门半编译半解释型的跨平台语言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值