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

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

我注意到诸如PHP,Ruby和Python之类的语言速度较慢,但​​令人惊讶的是,在大多数基准测试中,它们所使用的内存少于Java.是什么原因呢?

解决方法:

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

执行该Java字节代码的Java环境包括一个复杂的编译器,该编译器可以跟踪程序实际执行的工作以及花大量精力优化机器代码的合理位置,从而生成非常好的本机机器代码.不幸的是,所有这些记帐工作都会占用内存,而编译器本身以及Java环境的其余部分也会占用内存.同样,清理不需要的对象的垃圾收集机制也需要额外的内存才能正常工作(即快速).

所有这些导致Java程序甚至对于小型程序也需要大量内存.

上一篇:时延抖动


下一篇:如何编写测试应用程序以完全加载CPU?