首先要说明的是,不是所有的编程语言都有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和

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

被折叠的 条评论
为什么被折叠?



