Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用固定内存限制绑定JVM?_Java_Jvm - Fatal编程技术网

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

Java 如何使用固定内存限制绑定JVM?,java,jvm,Java,Jvm,我想用固定的内存限制绑定JVM。有人能帮我怎么做吗 更具体地说,我希望我的代码可以使用最大1024MB的内存空间,而我的JVM最初必须阻塞那么多内存 另外,我有4GB内存,但我的JVM显示的内存只有878MB。为什么? 我使用以下方法获得它:Runtime=Runtime.getRuntime()和Runtime.totalMemory()/(1024*1024) 为什么C没有这种问题?您可以使用以下选项运行“java” -最小内存大小 -xxs最大内存大小Java不会使用超过其需要的内存,如果

我想用固定的内存限制绑定JVM。有人能帮我怎么做吗

更具体地说,我希望我的代码可以使用最大1024MB的内存空间,而我的JVM最初必须阻塞那么多内存

另外,我有4GB内存,但我的JVM显示的内存只有878MB。为什么?

我使用以下方法获得它:
Runtime=Runtime.getRuntime()
Runtime.totalMemory()/(1024*1024)


为什么C没有这种问题?

您可以使用以下选项运行“java”

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

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

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

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


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

-Xmx用于最大化堆内存