gpt4 book ai didi

java - 自 JDK 6 以来,Java 内存使用情况是否有所改善?

转载 作者:行者123 更新时间:2023-11-30 06:43:10 25 4
gpt4 key购买 nike

我的组织目前正在进行系统升级,升级多个版本。我们当前的版本在 Java 6 上运行,而升级版本将在 Java 8 上运行。我们获得了新的硬件大小调整文档,这些文档实际上需要比当前使用的内存少得多的内存(从 28GB 降至 16GB)。当我们联系供应商表达我们的顾虑时,他们表示应用程序以及 Java 管理内存的方式都有了改进。

我愿意相信应用程序效率有所提高,但这似乎是一个巨大的变化。 Java 内存管理从 v6 到 v8 真的有显着改进吗?

最佳答案

在 Java 6 中,String 使用共享的 char[]offsetcount 放入数组中,这样 substring 就不必复制 char[]

这是一个不成熟的优化,现实表明许多程序会加载一个大字符串,创建几个子字符串并存储它们,导致整个大字符串留在内存中。

Java 7 中,他们消除了共享的 char[],改善了许多程序的内存使用。但是,某些程序可能会使用更多内存。这取决于字符串的使用方式。参见例如“The substring() Method in JDK 6 and JDK 7”。

仍然发现 String 对象是迄今为止大多数程序中最大的内存消耗者,因此已解决:

这些都是对 String 的优化。可能还有其他内存使用改进,但 String 是该领域的最大贡献者。

关于java - 自 JDK 6 以来,Java 内存使用情况是否有所改善?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52340185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com