Java 如何使用固定内存限制绑定JVM?
我想用固定的内存限制绑定JVM。有人能帮我怎么做吗 更具体地说,我希望我的代码可以使用最大1024MB的内存空间,而我的JVM最初必须阻塞那么多内存 另外,我有4GB内存,但我的JVM显示的内存只有878MB。为什么? 我使用以下方法获得它:Java 如何使用固定内存限制绑定JVM?,java,jvm,Java,Jvm,我想用固定的内存限制绑定JVM。有人能帮我怎么做吗 更具体地说,我希望我的代码可以使用最大1024MB的内存空间,而我的JVM最初必须阻塞那么多内存 另外,我有4GB内存,但我的JVM显示的内存只有878MB。为什么? 我使用以下方法获得它:Runtime=Runtime.getRuntime()和Runtime.totalMemory()/(1024*1024) 为什么C没有这种问题?您可以使用以下选项运行“java” -最小内存大小 -xxs最大内存大小Java不会使用超过其需要的内存,如果
Runtime=Runtime.getRuntime()
和Runtime.totalMemory()/(1024*1024)
为什么C没有这种问题?您可以使用以下选项运行“java” -最小内存大小
-xxs最大内存大小Java不会使用超过其需要的内存,如果您有hello world程序,无论您将最大值设置为多少,它都不会使用1 GB 在C语言中,内存要么被使用,要么被释放。内存没有其他状态。在Java中,内存有字符串引用、软引用、弱引用和无引用。确定何时清理内存以及是否清理软/弱引用的最大内存 C内存的问题是,您必须知道何时不再使用内存,这可能导致内存泄漏和/或开发人员面临的额外复杂性。Java没有这些问题,因为它有托管内存
C程序也有一个问题,它们会一直增长,直到内存+交换用完为止。对于一个性能良好的程序来说,这不是问题,但这是开发人员需要担心的另一件事,因为他不知道运行程序的机器可能有多少内存。-Xmx用于最大化堆内存