当前位置: 首页 > 知识库问答 >
问题:

PyPy和JVM的区别

上官树
2023-03-14

根据我的理解,默认的Python解释器(CPython)将源代码编译成字节码,然后将字节码解释为机器代码。

另一方面,PyPy利用JIT将经常解释的字节码优化为编译的机器代码。这与JVM有什么不同?JVM是一个解释器编译器。它将源代码编译为字节码,然后将经常解释的字节码优化为编译的机器代码。

还有其他区别吗?

共有1个答案

云利
2023-03-14

(CPython)将源代码编译成字节码,然后解释字节码

  • CPython可以评估原始源代码,但可以将其编译成字节码,以提高解释性能
 类似资料:
  • 我已经在运行El Capitan的Mac上安装了Python 2.7和3.5。此外,我在python中使用了Symphy包(与pip一起安装)。我想用Pypy(用自制软件安装)运行我的代码,但Pypy似乎找不到Sympy,并说: “没有名为sympy的模块” 我根本不是专家,现在不知道该怎么办。Sympy可以很好地与Python2和3配合使用,但不能与Pypy配合使用。 我感谢你的每一个回答,提前

  • 问题内容: 什么是HotSpot?它与JVM和OpenJDK有什么关系?是图书馆吗?它到底是做什么的? 另外,OpenJDK和HotSpot有什么区别? 问题答案: Java虚拟机规范中明确说明了什么是Java虚拟机 根据定义,JVM是虚拟机,即模拟真实计算机执行功能的软件计算机。就像真实的机器一样,它具有指令集,虚拟计算机体系结构和执行模型。它能够运行用该虚拟指令集编写的代码,非常类似于真实机器

  • PyPy 是用 Python 实现的 Python 解释器。PyPy 是 Python开发者为了更好的Hack Python创建的项目。此外,PyPy比CPython是更加灵活,易于使用和试验,以制定具体的功能在不同情况的实现方法,可以很容易实施。 该项目的目标是,让PyPy比C实现的Python更为容易的适应各个项目和方便裁剪。

  • 问题内容: 我很难理解Java字节码中的LookUpSwitch和TableSwitch。 如果我很好理解,LookUpSwitch和TableSwitch都对应于Java源代码的声明?为什么一个JAVA语句会生成2个不同的字节码? 每个Jasmin文档: 查找开关 tableswi instructions 问题答案: 区别在于 lookupswitch 使用 带有键和标签的表 tableswi

  • 每个的Jasmin文档: 查找开关 桌面女巫 两者