导语
既然是串行顾名思义就是使用单线程的方式进行执行,每次执行回收的时候,串行回收器只有一个工作线程,这样对于并行能力较弱的计算机,串行回收器更多的独占线程专一执行的方面有着良好的实现,也就是说在单线程的程序中效果较好,可以在新生代和老年代,根据不同的堆空间氛围新生代串行回收器和老年代串行回收器。下面就来分别谈谈这些收集器
文章目录
串行回收器
新生代串行回收器
串行收集器是所有的垃圾回收器中最为古老的而一种收集器,在也是JVM最为基本的垃圾回收器之一,它有两个特点
- 使用单线程进行垃圾回收
- 独占式的垃圾回收器
在串行收集器进行垃圾回收的时候,Java应用程序中的线程都是需要暂停的,在之前的分享中也看到过这个现象。在串行回收器运行的时候,应用程序的停止被称为是Stop-The-World。这种停顿如果时间太长的话就会影响用户体验,在对实时性操作要求较高的应用中这种往往是不能使用的。
如上图所示,串行收集器是一个经过长期生产环境的考验,验证为极为高效的垃圾收集器,在很多的场景中被使用。新生代串行处理器使用复制算法,实现相对比较简单、逻辑处理高效、没有线程之间切换的开销。在很多的单CPU处理器等硬件平台不是特别好的场景中,它的处理性能表现的比很多的并行处理器还要好。
在之前的例子中使用了如下的参数
-XX