一般咱们不会显式地调用 System.gc()。可是一些状况下,好比使用了 Direct 内存,为了使得其(堆外内存)可以被及时回收,咱们会经过显式调用 System.gc() 触发 full gc。可是 full gc 又会致使 stw,这又是咱们不想看到的。即使是配置了使用 CMS 回收器,这个问题也会存在。并发
System.gc()
因此咱们但愿显式的对 GC 的触发也是并发执行的,这即是 -XX:ExplicitGCInvokesConcurrent 的意义。code
-XX:ExplicitGCInvokesConcurrent