一、GC类型

  • MinorGC/YoungGC:发生在新生代的收集动作
  • MajorGC/OldGC:发生在老年代的GC,目前只有CMS收集器会有单独收集老年代的行为
  • MixedGC:收集整个新生代以及部分老年代,目前只有G1收集器会有这种行为
  • FullGC:收集整个Java堆和方法区GC

二、垃圾收集类型

  • 串行收集:GC单线程内存回收、会暂停所有的用户线程,如:Serial
  • 并行收集:多个GC线程并发工作,此时用户线程数暂停的,如:Parallel [ˈpærəlel]
  • 并发收集:用户线程和GC线程同时执行(不一定并行,可能交替执行),不需要停顿用户线程,如:CMS