GC垃圾回收算法
在前面的课程中我们学习了GC垃圾回收算法,分别为:
引用回收算法
复制算法
标记清除算法
标记整理算法
这些垃圾回收算法是理论,有多种垃圾回收器可以实现这些理论。目前为止没有最完美的垃圾回收器,只能针对具体的情况选择最合适的垃圾回收器,进行分代收集(也就是说年轻代和老年代使用不同的垃圾回收器)。
三种类型的垃圾回收器
串行回收(一个线程垃圾回收)
并行垃圾回收器(多个线程垃圾回收)
并发垃圾回收器(程序线程和垃圾回收线程并发执行)
串行回收
这样的回收器只使用一个线程进行垃圾回收,会暂停所有的用户线程,所以不适合服务器的环境。
并行垃圾回收器
多个垃圾收集线程并行工作,此时用户线程是暂停的,适合科学计算/大数据处理首台处理等弱交互场景。GC的时候,程序也是需要停止的,由于是多个线程,所以停顿(STW)的时间会少很多。
<