java与python运行机制对比,编译与解释有什么不同?

java与python运行机制对比,编译与解释有什么不同?

1.编译语言vs解释语言

首先,要先明确“编译”与“解释”两个词语的意思,这两个词语的意思明确了区分度就出来了

编译解释
本质翻译翻译
原材料高级编程语言高级编程语言
发生时间第一次运行前每次运行的时候
产物机器语言文件(如windows下的.exe)

然后,我们可以由上述词语的含义对比两种类型的语言(定义是根据上表自定义给出,便于理解)

编译性语言解释型语言
定义该高级编程语言在第一次运行之前会先翻译成机器语言文件,并且在之后的运行成不再翻译而直接运行机器语言文件该高级编程语言在每次运行中都会进行翻译,逐行翻译成机器语言执行
优势运行速度快兼容性强
例子c, c++JavaScript,脚本语言

2.Java vs Python

Java和Python都更加类似于一种编译-解释型语言,究其本质是一种具有转换过程的解释型语言,是编译型和解释型二者发展融合趋势的体现。

2.1 Java

在这里插入图片描述

2.2 Python

在这里插入图片描述

2.3 对比
JavaPython
源文件.java.py
编译器javac.exepython.exe
中间代码.class(一定保存).pyc(不一定保存)
静态动态
解释执行虚拟机+java.exe解释器+python.exe
相同点跨平台运行跨平台运行
最大不同中间过程可分离中间过程连贯

3.小结

两者在都想要相应跨平台运行的需求,所以在机制的设计上有序同相同的地方,共同地体现了编译型语言与解释型语言地界限越来越模型的现状。但是究其细节,两者在跨平台的实现上是不一样的,对于中间过程的静态还是动态,可分离还是密封,环境如何纳入考虑这个都是不一样的。

参考:

https://blog.csdn.net/Rain722/article/details/52624616

https://blog.csdn.net/Rain722/article/details/52624616

https://blog.csdn.net/weixin_33919950/article/details/88014835

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值