douna2014 2015-02-02 08:42
浏览 75
已采纳

为什么大多数脚本语言使用较少的内存? [关闭]

I've just had a look at some programming language benchmarks here: http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=php&lang2=java

I noticed that languages like PHP, Ruby and Python were slower, but surprisingly used less memory than Java in most benchmarks. What is the reason for that?

  • 写回答

1条回答 默认 最新

  • dqypcghd381390 2015-02-02 08:55
    关注

    When you use Oracle Java the Java programs are not compiled to native machine code which can immediately be executed by the CPU, but to an intermediate form called "java byte code".

    The Java environment which executes this java byte code include a sophisticated compiler which can generate very good native machine code as it keep track of what the program actually do, and where it makes good sense to spend a lot of effort optimizing the machine code. Unfortunately all this bookkeeping takes up memory and the compiler itself also does, along with the rest of the Java environment. Also the garbage collection mechanisms cleaning up unneeded objects also needs additional memory to work well (i.e. fast).

    All this result in Java programs needing a lot of memory even for small programs.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容