繁体   English   中英

如何用固定的内存限制绑定JVM?

[英]How to bound JVM with a fixed memory limit?

我想用固定的内存限制来绑定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”

-xms最小内存大小-xxs最大内存大小

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM