博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
垃圾回收
阅读量:5128 次
发布时间:2019-06-13

本文共 615 字,大约阅读时间需要 2 分钟。

大部分内容来自于:

             

垃圾回收(garbage collection)机制的基本原则是:

1. 找出程序中不会再被访问到的对象。

2. 回收这部分对象占用的资源(内存)。

       不同语言对垃圾回收机制的支持不同,有一些将它当成语言必备的一部分(Java,C#,lua,python),有一些将它当成语言可选的一部分,有一些则不直接提供支持,但可以通过扩展库来实现(C,C++)。

       与垃圾回收机制相对的是手动管理内存。手动管理内存使程序编写起来变得复杂,在不小心的情况下容易出现错误,比如空指针、野指针、内存泄漏等。

       使用垃圾回收机制可以简化代码编写,减少出错的情况。但它本身也是有诸多缺点的:

  1. 垃圾回收器要决定哪些对象该被删除,哪些对象该被保留,这显然会需要消耗一定的计算机资源。比如可能需要空间来存储辅助标志位,可能需要时间来进行遍历和标记。
  2. 垃圾回收发生的时间往往是不可预料的。这显然不适合在实时环境、事务处理或交互场景中使用。
  3. 一些系统资源是无法直接被垃圾回收器简单回收的,比如文件句柄、socket等资源,仍然需要程序员显式的去操作。

  本来想写完,后来发现基本上完全在参照,加入不了自己的想法,所以就不继续写了。这个wikipedia里的内容非常的详细。另外描述了另一种垃圾回收算法。

转载于:https://www.cnblogs.com/carter2000/archive/2012/06/24/2559981.html

你可能感兴趣的文章
CentOS下同步时间并写入CMOS
查看>>
Java基础-一个java文件多个类的问题
查看>>
Maven安装jar包到本地仓库
查看>>
前端学习总览
查看>>
HDU1228 A + B
查看>>
第一阶段冲刺个人博客10
查看>>
[分块] 洛谷 P3396 哈希冲突
查看>>
《程序设计实践》中文版pdf
查看>>
NLog简单使用
查看>>
MySQL入门很简单-触发器
查看>>
LVM快照(snapshot)备份
查看>>
Struts2 - 与 Servlet 耦合的访问方式访问web资源
查看>>
绝望的第四周作业
查看>>
一月流水账
查看>>
数论四大定理
查看>>
npm 常用指令
查看>>
C#基础知识面试经典[整理]
查看>>
微信 oauth2 两次回调
查看>>
洛谷P1099 树网的核
查看>>
Spring Cloud 入门教程(八): 断路器指标数据监控Hystrix Dashboard 和 Turbine
查看>>