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

对于初识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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值