`
silentpauljian
  • 浏览: 17132 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

垃圾收集 原理

阅读更多

看了两种基本方法: 
1 mark sweep 
就是收集的时候 
第一步 把用到的对象标记出来 
第二部 把$1中没有标记的对象收集,标记了的对象的标记清空 。 
2 三色法 
感觉只是把引用的对象和没有引用的对象分开。 
其实思路很简单: 
所有对象分为引用的和没有引用的。分别用黑色和白色的区域来放。 
然后把白色的区域里面的对象都释放了就可以了。 

1开始的时候先假设所有的对象都是要释放的(都放在白色区域里面) 
2 但是我们知道一个事实:顶级对象肯定是不能释放的!于是把顶级对象挑出来放到一个灰色区域。以后的游戏都是在灰色的区域里进行。 
3 对灰色区域里面的每个对象做这样的事情:把它的直接引用的对象放到灰色区域,然后把 
这个对象自己放到黑色区域里。重复这个事情直到最后灰色区域空了。 
4 现在只有黑色和白色区域有对象了。白色区域里面的对象就是没有被其它对象引用的,就可以安全地释放了。 

分享到:
评论

相关推荐

    垃圾收集机制的基本原理及方法word版

    理解垃圾收集的基本原理和方法对于编写高效、健壮的Java应用程序至关重要。 1. **垃圾收集的基本原理** - **内存划分**:JVM内存主要分为堆栈、堆和静态存储三个部分。堆栈用于存储基本类型和对象引用,其分配和...

    JVM初探- 内存分配、GC原理与垃圾收集器

    再者,GC原理涉及到垃圾收集算法,主要包括分代收集算法和分区收集算法。分代收集算法是目前主流的收集方式,它将堆内存分为新生代和老年代,根据对象的存活周期不同,采用不同的收集策略。新生代采用复制算法,因为...

    Python垃圾收集器原理研究及应用.pdf

    本文由郭芬和刘明撰写,分别来自美博通通信技术和上海惠普公司,深入探讨了Python垃圾收集器的工作原理以及在实际应用中的策略。 Python垃圾收集器主要基于引用计数和周期性垃圾收集两种机制。引用计数是最基础的...

    垃圾收集的原理浅析[文].pdf

    垃圾收集的原理浅析 垃圾收集是软件开发中一个重要的概念,它指的是在程序中自动管理内存的过程,使得开发者不需要手动管理内存,避免了内存泄露和溢出的问题。 在软件开发中,垃圾收集的主要目的是为了回收垃圾...

    对象的释放和垃圾收集机制.txt

    无论是手动管理内存还是依赖于自动垃圾收集机制,理解和掌握内存管理的基本原理对于编写高效、健壮的程序至关重要。在选择合适的垃圾收集器时,应根据应用程序的具体需求和运行环境来进行权衡。此外,随着技术的发展...

    C的保守垃圾收集器

    2. **垃圾收集原理**:解释垃圾收集的基本概念,包括对象可达性分析、引用计数、标记-清除、复制、分代等算法,以及它们各自的优缺点。 3. **保守垃圾收集**:详细阐述保守垃圾收集器的工作原理,如何通过扫描堆栈...

    基于流体涡旋向心吸力的水面垃圾收集机器人设计.pdf

    机器人设计基于流体涡旋向心吸力的原理,利用流体涡旋向心吸力原理,增大吸纳垃圾的范围,对垃圾进行收集处理,有效地解决了水面垃圾收集的问题。 结构设计 机器人结构设计采用SolidWorks三维建模软件进行模型搭建...

    关于垃圾收集的一些话

    在深入垃圾收集器的工作原理之前,有必要了解不同的GC技术。引用计数是一种简单的垃圾收集技术,它通过维护每个对象的引用计数来追踪对象是否被使用。当一个对象的引用计数降至零时,意味着该对象不再被任何活动对象...

    Java的垃圾收集器(GC)

    ### Java的垃圾收集器(GC)详解 #### 引言 垃圾收集器(Garbage Collector,简称GC)是Java语言的一项重要特性,它自动化管理内存,显著减轻了开发者手动管理内存负担,避免了常见的内存泄漏问题,提高了程序的...

    城市垃圾收集的发展方向──压缩式集装箱垃圾收集站分享.pdf

    一、压缩式集装箱垃圾收集站的原理与优势 压缩式集装箱垃圾收集站的核心在于其压缩设备,它通过液压或电动驱动的机械装置对投放的垃圾进行压缩,大大减小了垃圾的体积,从而提高了垃圾车的运输效率。这种方式减少了...

    真空垃圾收集系统.pdf

    真空管道垃圾收集系统工作原理在收集系统末端装有引风机械,当风机运转时,整个系统内部形成负压,使管道内外形成压差,空气被吸人管道;同时,垃圾也被空气带人管道,被输送至分离器,在此进行垃圾与空气分离;分离...

    Java垃圾收集的原理及内存泄漏问题的解决

    Java垃圾收集的原理及内存泄漏问题的解决

    G1垃圾收集器入门

    本文介绍如何使用G1,及在 Hots pot JVM 中怎么使用G1垃圾收集器。 您将了解 G1 收集器的内部原理, 切换为 G1 收集器的命令行参数, 以及让其记录GC日志的选项。 在线版地址为: ...

    Java垃圾收集必备手册

    了解不同垃圾收集算法的原理和特点,合理使用JVM提供的工具和参数进行调整,是每位Java开发者都需要掌握的技能。此外,由于不同版本的JVM以及不同厂商的实现可能有所差异,调优过程中需要综合考虑具体环境和应用的...

    Java垃圾回收原理

    G1 (Garbage First) 是一种面向服务端应用的垃圾收集器,它的目标是在控制内存占用率的同时尽可能缩短停顿时间。G1将堆内存划分为多个小区域进行管理,每次垃圾回收时只回收一部分区域,从而减少了整体停顿时间。 #...

    垃圾收集的程序.docx

    这里,我们主要讨论的是垃圾收集的概念、原理以及在实际编程中的应用。 1. **垃圾收集的概念** 垃圾收集是自动内存管理的一种形式,它的目标是追踪并回收那些程序员不再引用的对象所占用的内存。通过定期运行垃圾...

    JVM初探内存分配GC原理与垃圾收集器共16页.pdf.z

    深入理解JVM内存分配、垃圾收集(Garbage Collection, GC)原理以及垃圾收集器的工作方式对于优化程序性能至关重要。 首先,我们要了解JVM内存结构。在Java中,内存主要分为以下几个区域: 1. **堆内存(Heap)**...

Global site tag (gtag.js) - Google Analytics