java - 为什么大多数脚本语言使用较少的内存?

标签 java php python ruby benchmarking

<分区>

我刚刚在这里查看了一些编程语言基准:http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=php&lang2=java

我注意到像 PHP、Ruby 和 Python 这样的语言速度较慢,但​​令人惊讶的是,在大多数基准测试中使用的内存比 Java 少。这是什么原因?

最佳答案

当您使用 Oracle Java 时,Java 程序不会编译为可立即由 CPU 执行的 native 机器码,而是编译为称为“java 字节码”的中间形式。

执行这个 java 字节码的 Java 环境包括一个复杂的编译器,它可以生成非常好的本地机器码,因为它跟踪程序实际做了什么,以及在哪些地方花费大量精力优化机器是有意义的代码。不幸的是,所有这些簿记都会占用内存,编译器本身也会占用内存,还有 Java 环境的其余部分。此外,清理不需要的对象的垃圾收集机制也需要额外的内存才能正常工作(即快速)。

所有这些导致 Java 程序需要大量内存,即使对于小程序也是如此。

关于java - 为什么大多数脚本语言使用较少的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28273814/

相关文章:

java - 如何在我的 android 应用程序中修复 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

java - 使用 StringTokenizer API 获取标记化字符串的最后一个元素

php - 将字符串日期转换为数据库的对象日期

python - 如何删除plotly tools.make_subplots中的绘图边距?

java - 在 JSF 的情况下请求的资源不可用

Java SimpleXML 使用类属性填充内部对象

php - php中的PDF导出

PHP文件上传失败

python - scikit learn (python) 中的 Meanshift 不理解数据类型

python - 解析 Scrapy 中的相邻项