通过Java认识“编译型”与“解释型”语言的样子(二)


前言

很多人学习Java之后都会去讨论一个问题,Java到底是“编译型”还是“解释型”语言。很多人的观点都有不同,有些人觉得Java即是“编译型”,又是“解释型”。而有些人则断定的认为Java最终还是归于“解释型”一类的。我希望通过这篇博文,大家对“编译型”与“解释型”语言的概念有一个简单的认识。

Java、C、C++一起出国旅游

话说有一天,Java联系自己的好朋友C、C++商量着一起出国旅游,出发之前他们仔细了解了这个国家的风土人情。Java告诉C和C++,不用担心到了那里我做你们的“翻译官”。学习Java的小伙伴都知道这样一个说法吧:“一次编译、到处运行”,这是因为Java内置了JVM,也即是Java Virtual Machine(Java虚拟机)的缩写,由于针对不同平台有不同的JVM,实现了“跨平台”,所以才流传这样的一个说法。

过了几天之后,这三个“铁兄弟”结伴来到这里的一家图书馆。Java逛了一会后,就对一本书非常着迷—《如何使富婆爱上我》,站在那里看了许久,旁边的C、C++就问Java在看什么呢?Java满怀激情的给他们详细的讲解了这本书的内容,为他们做“翻译”。
在这里插入图片描述
所以“翻译”的过程就是解释的过程,将这些东西翻译成C和C++能够看懂的文字

使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行。是代码在执行时才被解释器一行行动态翻译和执行,而不是在执行之前就完成翻译。

而《如何让富婆爱上我》这本书的作者,写书的过程其实就是“编译的过程”。

使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。

那“解释”和“编译”的区别在哪里呢?这就就很明了的,就是“快慢”问题,像Java,它能够看懂这些文字,自然就不需要翻译了,会很快的了解书上的内容,早于C和C++掌握绝技,而C和C++也只能通过某个“解释”途径去窥探这本书上的奥妙了。

结尾

通过这样的一个小故事,估计啊,大家还是有点懵懵的,下面我们去看一下关于“解释型”语言和“编译型”语言比较正统的解释,大家可以带着“翻译” 的思想去阅读,会有更深刻的理解。

觉得有用的朋友给个一键“三连”,一起进步!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值