JVM中具体有哪些类型的垃圾回收器?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3020个文字,预计阅读时间需要13分钟。
垃圾回收算法与垃圾回收器+对于JVM的垃圾回收算法有复制算法、标记清除算法、标记整理算法。用阳台的话就是:这些算法只是天上的概念,是一种方法论,但真正的垃圾回收还需要有落地。
垃圾回收算法和垃圾回收器
对于JVM的垃圾回收算法有复制算法、标记清除、标记整理。
用阳哥的话就是:这些算法只是天上飞的理念,是一种方法论,但是真正的垃圾回收还需要有落地实现,所以垃圾回收器应运而生。
JVM回收的区域包括方法区和堆,jvm对于不同区域不同的特点采用分代收集算法,比如因为所有的对象都是在Eden区进行分配,并且大部分对象的存活时间都不长,都是“朝生夕死”的,每次新生代存活的对象都不多,所以新采取复制算法;而jvm默认是新生代的对象熬过15次GC才能进入老年代,所以老年代的对象都是生命周期比较长的,采用标记清除或者标记整理算法。
那么对于这些算法的实现都有什么呢?
新生代:serial、ParNew、Parallel
老年代:Serial Old、Parallel Old、CMS
全堆:G1
并且他们的搭配组合如下:
垃圾回收器
jvm的垃圾回收器大体上的分类主要包括四种:串行、并行、并发(CMS)和G1。
串行垃圾回收器(Serial):它为单线程环境设计并且只使用一个线程进行垃圾回收,会暂停所有的用户线程。所以不适合服务器环境。
本文共计3020个文字,预计阅读时间需要13分钟。
垃圾回收算法与垃圾回收器+对于JVM的垃圾回收算法有复制算法、标记清除算法、标记整理算法。用阳台的话就是:这些算法只是天上的概念,是一种方法论,但真正的垃圾回收还需要有落地。
垃圾回收算法和垃圾回收器
对于JVM的垃圾回收算法有复制算法、标记清除、标记整理。
用阳哥的话就是:这些算法只是天上飞的理念,是一种方法论,但是真正的垃圾回收还需要有落地实现,所以垃圾回收器应运而生。
JVM回收的区域包括方法区和堆,jvm对于不同区域不同的特点采用分代收集算法,比如因为所有的对象都是在Eden区进行分配,并且大部分对象的存活时间都不长,都是“朝生夕死”的,每次新生代存活的对象都不多,所以新采取复制算法;而jvm默认是新生代的对象熬过15次GC才能进入老年代,所以老年代的对象都是生命周期比较长的,采用标记清除或者标记整理算法。
那么对于这些算法的实现都有什么呢?
新生代:serial、ParNew、Parallel
老年代:Serial Old、Parallel Old、CMS
全堆:G1
并且他们的搭配组合如下:
垃圾回收器
jvm的垃圾回收器大体上的分类主要包括四种:串行、并行、并发(CMS)和G1。
串行垃圾回收器(Serial):它为单线程环境设计并且只使用一个线程进行垃圾回收,会暂停所有的用户线程。所以不适合服务器环境。

