垃圾回收器
串行垃圾回收器(Serial):它为单线程环境设计且只使用一个线程进行垃圾回收,会暂停所有的用户线程。
并行垃圾回收器(Parallel):多个垃圾回收线程并行工作,此时用户线程是暂停的,适用于科学计算、大数据分析等弱交互。
并发垃圾回收器(CMS):用户线程和垃圾线程同时执行(不一定是并行可能是交替执行),不需要停顿用户线程,互联网公司多用它,使用对响应时间有要求的场景。
G1垃圾回收器:G1垃圾回收器将堆内存分割成不同的区域然后并发对其进行垃圾回收。
java中GC回收的类型有几种?UseSerialGC、UseParallelGC、UseConcMarkSweepGC、UseParNewGC、UseParallelOldGC、UseG1GC
串行收集器:Serial收集器:一个单线程的收集器,在进行垃圾收集的时候,必须暂停其他所有的工作线程直到它收集结束。
串行收集器是最古老,最稳定以及效率高的收集器,只使用一个线程去回收但其在进行垃圾收集的过程中可能会产生较长的停顿。虽然在垃圾收集过程中需要暂停所有其他工作线程,但是它简单高效,对于限定单个CPU环境来说,没有线程交互的开销,可以获得最高的但线程垃圾收集效率,因此Serial垃圾收集器依然是java虚拟机运行在client模式下默认的新生代垃圾收集器。
对应jvm参数是: -XX:+UseSerialGC
开启后会使用:Serial(Young区用)+Serial Old(Old区用)的收集器组合
表示:新生代、老年代都会使用串行垃圾收集器,新生代使用复制算法
老年代使用标记整理算法。