JVM Garbage Collection Algorithms and Collectors- JVM垃圾回收算法和回收器

本文介绍了JVM的垃圾回收,包括手动与自动回收的区别、JVM堆内存结构、GC的定义及其类型,以及四种主要的垃圾回收算法(Mark-Copying、Mark-Sweep、Mark-Sweep-Compact和G1)。同时,讲解了不同类型的垃圾回收器如Serial、Parallel、CMS和G1的工作原理及其特点。
摘要由CSDN通过智能技术生成

1. 手动垃圾回收 VS 自动垃圾回收

     我们都知道在C,C++编程语言中,编程人员需要手动分配、释放内存。这么做有个很大的缺陷,编程人员很容易忘记去释放内存,从而导致无效的内存没有被清理出来。这就是内存泄漏。

2. JVM Heap(堆)

    堆包涵三部分内存。        

    a. New Generation 新生代

    新生代顾名思义就是用来存放新的对象,它包括 Egen和Survivor。刚new出来的对象在Egen中。Survivor看名字就知道用来存放活下来的对象。Minor GC后对象从Egen->Survivor

    b. Old Generation 老生代

        Old Generation又称为Tenured Generation,用来存放多次回收依然存活的对象。

    c. Permanent Generation 持久代

         在hotspot JVM系列中, 持久代这块内存用来实现方法区。

3. GC 定义

    a. Minor GC

        新生代中垃圾回收一次称为一次Minor GC

    b. Major GC

        老生代中垃圾回收一次称为一次Major GC

    c. Full GC

        Full GC = Minor GC + Major GC

4. Garbage Collection Algorithms(垃圾回收算法)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值