gpt4 book ai didi

java - 如何给JVM绑定(bind)固定的内存限制?

转载 作者:行者123 更新时间:2023-12-01 15:28:14 27 4
gpt4 key购买 nike

我想用固定的内存限制来绑定(bind) JVM。任何人都可以帮助我如何做到这一点吗?

更具体地说,我希望我的代码可以使用最大 1024 mb 内存空间,并且我的 JVM 必须首先阻塞那么多内存。

另一件事,我有 4 GB 内存,但我的 JVM 仅显示 878 MB 内存。为什么?

我使用:Runtime runtime = Runtime.getRuntime()runtime.totalMemory()/(1024*1024)

为什么C没有这种问题?

最佳答案

Java 不会使用超出其需要的内存,如果您有一个 hello world 程序,无论您将最大值设置为多少,它都不会使用 1 GB。

在 C 语言中,内存要么被使用,要么被释放。内存没有其他状态。在Java中,内存有字符串引用、软引用、弱引用和无引用。最大内存决定何时清理内存以及是否清理软/弱引用。

C 内存的问题是您必须知道内存何时不再使用,这可能会导致内存泄漏和/或给开发人员带来额外的复杂性。 Java 不存在这些问题,因为它具有管理内存。

C 程序也有一个问题,它们会不断增长,直到耗尽内存+交换空间。对于表现良好的程序来说,这不是问题,但这是开发人员需要担心的另一件事,因为他不知道运行该程序的机器可能有多少内存。

关于java - 如何给JVM绑定(bind)固定的内存限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9912613/

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