dynamically increasing java heap space

柔情痞子 提交于 2019-11-30 13:07:07

Java was not design to be able to dynamically manage memory, in this case "java heap space", all the opposite, it was designed in order to relieve the programmer from having to worry about that.

In short, I'm afraid to say that there is nothing like a "malloc()"or "setHeapSize(int byes)" in Java.

On Java you're constraint to the amout of memory available to the JVM when your program starts. In terms of memory management this is both a blessing and a curse.

For that kind of dynamic memory allocation you should try to use implement your algorithm using a language like C and/or C++ instead.

As far as I know, there is no way of controlling the heap size at runtime.

It may not be necessary though: you can provide a minimum and maximum heap size with the -Xms and -Xmx switches respectively. (eg -Xms128m -Xmx512m) The jvm will manage the actual heap size within these bounds.

The maximum is not the size of memory used, this is dynamic based on usage.

The maximum heap size should be the point at which you would rather the program fail, than use more memory. It makes little sense to change this dynamically, even academicly.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!