JVM学习笔记(二)——xms&&xmx

来源:互联网 发布:汉字扫描识别软件 编辑:程序博客网 时间:2024/06/06 04:06

对于初识jvm启动参数的人来说,-xms(堆的最小值) -xmx(堆的最大值) 的概念是很容易感到困惑的。这里,我总结了几点:


1、-xms有什么用处

答:如果在运行java的时候没有添加-Xms参数,那么,在java程序运行的过程的,内存总是慢慢的从操作系统那里挖的,基本上是用多少挖多少,直到挖到-xmx的限制为止,所以totalMemory()是慢慢增大的。如果用了-Xms参数,程序在启动的时候就会无条件的先从操作系统中申请-Xms定义的内存大小,等不够了之后,再去挖。


2、-Xms和-Xmx设置相同时可避免Java堆自动扩展


3、-Xmx指定内存虽然不会再程序启动的时候直接分配,但是会被保留起来,内存保留 != 内存分配。当本机内存被保留时,无法使用物理内存或其他存储器作为备用内存。尽管保留地址空间块不会耗尽物理资源,但会阻止内存被用于其他用途。由保留从未使用的内存导致的泄漏与泄漏分配的内存一样严重。


参考博文:

https://my.oschina.net/cjun/blog/511617

http://www.cnblogs.com/orientsun/archive/2012/07/25/2608538.html

1 0
原创粉丝点击