G1GC可以与应用程序线程同时执行全堆操作,例如全局标记。 这可以防止与堆大小成比例的中断。
尽管G1GC是一种新时代的垃圾收集算法,但只有在以下情况下才应该从CMS或旧式垃圾收集切换:
有关G1内部工作的更多详细信息,请访问:http://docs.oracle.com/javase/7/docs/technotes/guides/vm/G1.html
只有在应用程序需要额外内存时,GC才会被触发。GC是一项昂贵的任务,虚拟机会决定何时运行它。如果你怀疑你的程序需要内存而GC没有释放内存,这是一个问题。如果你能分享一个演示此问题的测试案例,我们将努力解决并修复此问题。