概述
垃圾收集器是垃圾回收算法的体现
JVM中垃圾收集器分为三类:
1.串行收集器 2.并行收集器 3.并发收集器
串行收集器
用单线程处理所有垃圾回收工作,因此无需多线程交互,所以效率比较高
适合单处理器机器。串行垃圾回收时会暂停程序
-XX:+UseSerialGC
并行收集器
对年轻代进行并行垃圾回收
-XX:+UseParallelGC
并行收集器在jdk5开始引入,jdk6进行了增强—可以对年老代进行并行收集。
(对年老代并行收集)
-XX:+UseParallelOldGC
设置并行垃圾回收的线程数
-XX:ParallelGCThreads=<N>
并发收集器:
可以保证大部分工作都并发进行(应用不停止)
适合对响应时间要求比较高的中、大规模应用
-XX:UseConcMarkSweepGC
1. Serial收集器 —— -XX:+UseSerialGC
单线程会收集器,收集时会暂停所有工作线程,使用复制收集算法,在虚拟机运行在Client模式默认的新生代收集器
2. ParNew收集器 —— -XX:+UseParNewGC
是Serial的多线程版本,虚拟机运行在Server模式的默认新生代收集器
3. Parallel Scavenge收集器(PS收集器) —— -XX:+UseParallelGC
多线程收集器,也是使用复制算法,以吞吐量最大化(GC时间占总运行时间最小)为目标,是新生代收集器
4. Serial Old收集器
单线程收集器,使用标记-整理算法,是老年代的收集器
5. Parallel Old收集器 —— -XX:+UseParallelOldGC
年老代吞吐量优化收集器,使用多线程和标记-整理
没有最好的收集器,只有最合适的收集器,根据实际场景选择合适的收集器才是王道
最后
以上就是贪玩鞋子为你收集整理的JVMGC——垃圾收集器的分类的全部内容,希望文章能够帮你解决JVMGC——垃圾收集器的分类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复