十种GC收集器及原理(1)—Serial

本文介绍了Java的Serial GC,它是JVM最早出现的单线程串行垃圾收集器,适用于小内存场景。Serial GC在进行GC时会暂停所有业务线程,采用复制算法来避免内存碎片,但效率受存活对象数量影响。随着Java的发展,后续出现了更高效的分代收集算法。

首先要说明的是,不是所有的编程语言都有GC,而GC也不是从java才开始出现的,早在1960年John McCarthy 就发布了最初的GC算法—引用计数GC算法。但是,可以肯定的一点是,java极大的推动了GC算法的发展。有了GC,程序员就不用再去担心因为忘了释放内存等而导致 BUG,从而大大减轻了负担。也不用再去头疼费事的内存管理。GC能让程序员告别恼人的内存管理,把精力集中在更本质的编程工作上。

言归正传,java发展至今已有15年左右的时间,其强大的JVM所采用的垃圾收集器也经历了复杂的演化和发展,截止目前为止,一共产生过10种GC收集器,如下图(图1-1)所示:

                                                                                 图 1-1: 10种不同的GC回收器

         Java GC的发展是伴随着硬件的发展特别是内存的发展而逐步演进的,本文主要为大家剖析JVM诞生的第一种垃圾收集器—Serial。

Serial GC

        JDK 1.0发布于1996年1月,Serial和

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值