Rumah >pembangunan bahagian belakang >Tutorial Python >为什么Java虚拟机比Python虚拟机大那么多?

为什么Java虚拟机比Python虚拟机大那么多?

WBOY
WBOYasal
2016-06-06 16:24:052241semak imbas

好吧..题主我不是学计算机的,只是装过JVM和PVM而已。。
java大小:为什么Java虚拟机比Python虚拟机大那么多?python大小:为什么Java虚拟机比Python虚拟机大那么多?=============
感谢好心人添加了截图
以及python安装包还包含了IDLE和一些标准库吧,所以解释器应该更小。
但是我也不知道PVM到底有多大。

回复内容:

Python的虚拟机是个单纯的解释器 java的在解释的同时会profile然后根据profile的结果对特定代码进行实时编译 功能多了大小自然多了 jvm有google,以前sun、oralce、ibm、以前bea,还又很多其他公司,加上国内算ali。这么多资源在参与研究和开发jvm,应该是python比不了的。 谢邀

Python虚拟机/解释器和Hotspot这些JVM比起来就是玩具。况且光是比虚拟机/解释器肯定没有多少差别,你说的多半是把运行库都算上的整个运行环境 库占很大 python到现在都二三十年了,比java还早。java从第一版到现在经过了无数的革新,python却还有GIL。一看就知道,一个是玩具,一个是能干活的,大小怎能一样。 因为 Java 代码比 Python 代码长很多嘛。 人生苦短,我用Python,我觉得挺好 回上边的,只能说,玩具简直太好玩了,工具难用的一笔
好了,玩笑结束,上边有人提到库移植性问题,怎么说呢, 首先python是个胶水语言,所以库也就是被胶水粘一块的代码块(很多是C写的然后包装,这也是pvm很慢,但Python感觉蛮快的原因吧)一般Linux就是一个so加一个.py包装一下,显然是不能直接跨平台,java本身就是为了跨平台做的,所以大部分库都是跑在JVM上,所以能直接跑.因为java的库也是解释执行的字节码,所以比较废内存,也感觉慢一点(毕竟有转换或者jit的过程)。而Python的模式是一堆native代码加一点脚本,只有脚本是需要解释的,虽然pvm慢很多,但几乎感觉不到这个速度劣势的存在。 讲个笑话:Python 3. java虚拟机能跑java1 2 3 4 5 6 7 8的代码,python3能跑2的代码吗?
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn