由于垃圾回收技术发展很快,所以这3个版本中JDK支持的垃圾回收器并不完全相同,其中CMS仅在JDK 8和JDK 11中支持,ZGC在JDK11中为实验特性,在JDK 17中为正式产品,Shenandoah在JDK 17中为正式产品,Epsilon在JDK 11和JDK 17中为实验特性。
大家平时理所当然会认为:Java程序在短时间内处理大量任务时会申请使用大量的内存空间,而等任务处理完毕,会有大量的内存被虚拟机回收回来,回收回来的内存由于短期内不再被使用,所以虚拟机会将内存归还给操作系统。事实上呢?Heap Configuration。MinHeapFreeRatio = 40。