【问题标题】:Memory usage of a program running in two different languages (C#, Java) [closed]以两种不同语言(C#、Java)运行的程序的内存使用情况[关闭]
【发布时间】:2017-12-21 17:45:59
【问题描述】:

我用两种不同的语言编写了一个简单的程序,结果让我吃惊! 我的应用程序是一个简单的程序(Hello world!)。 C-Sharp 程序占用大约 3 MB 的 RAM,但在 Java-FX 中大约是 78 MB。 Java真的用了那么多内存吗?! 有没有办法减少内存量?

【问题讨论】:

  • 你不能从中得出任何结论,如果你还在写 hello worlds 时担心记忆,那你就是在浪费时间。
  • 所有区别意味着 jre 在启动时的优化方式与 .net 不同。这来自一个偶尔只做 java 的 C# 人。除非您正在编写需要高度优化的 hello world 程序,否则无需担心。
  • 看看在你的java代码的另一行再次打印“Hello World”需要多少内存,如果内存翻倍我会开始担心......

标签: java c# memory


【解决方案1】:

根据java虚拟机的版本,默认的初始堆大小是一个合理的最小值,因平台而异,可以在启动时设置。所以是的,你可以减少它。

关于改变大小和更多细节:https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gc-ergonomics.html

关于默认堆大小:How is the default java heap size determined?

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    相关资源
    最近更新 更多