为什么python叫解释器,而java叫虚拟机

从执行上看Java文件通过java.exe编译生成javac的字节码文件,而java的字节码处理方式可以分为JIT(just in time,立即编译执行)和解释执行,JIT将热点代码编译缓存起来,执行速度更快,解释执行会逐条执行字节码指令。
python的.py文件在python.exe采用编译成pythoncodeobject对象(不是pyc文件,pyc文件是pythoncodeobject的磁盘存储形式 )并由python.exe一条一条地执行每一条指令,不会生成pyc文件,而import .py模块后才会生成.pyc文件当然pyc的执行速度比py快
python由解释器生成中间代码并解释执行,而java要编译成javac,再由JVM解释和编译,所以java虚拟机是包括解释器的并且Java运行速度快于python。相比之下,Python更像个玩具,JAVA才是工具。
从类型上看
python是动态类型,只能在运行时检查类型错误,而java是静态类型,在编译时就可以检查出类型错误。

编译器,解释器区别
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.

我认为解释器和虚拟机没什么区别,甚至于有人将python解释解释器也可以叫做PVM。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值