> 财经
生产事故:JVM一定会将内存归还给操作系统吗?不一定
导语:生产事故:JVM一定会将内存归还给操作系统吗?不一定
大家平时理所当然会认为:
Java程序在短时间内处理大量任务时会申请使用大量的内存空间,而等任务处理完毕(或者是请求的任务变少时),会有大量的内存被虚拟机回收回来,回收回来的内存由于短期内不再被使用,所以虚拟机会将内存归还给操作系统。
事实上呢?
Heap ConfigurationMinHeapFreeRatio = 40
空闲堆空间的最小百分比,计算公式为:HeapFreeRatio =(CurrentFreeHeapSize/CurrentTotalHeapSize) * 100,值的区间为0到100,默认值为 40。
如果HeapFreeRatio < MinHeapFreeRatio,则需要进行堆扩容,扩容的时机应该在每次垃圾回收之后。
MaxHeapFreeRatio = 70
空闲堆空间的最大百分比,计算公式为:HeapFreeRatio =(CurrentFreeHeapSize/CurrentTotalHeapSize) * 100,值的区间为0到100,默认值为 70。
如果HeapFreeRatio > MaxHeapFreeRatio,则需要进行堆缩容,缩容的时机应该在每次垃圾回收之后。