垃圾回收,析构函数
来源:互联网 发布:log4cpp使用linux 编辑:程序博客网 时间:2024/06/14 07:35
初始化对象中的书据,运算符new可在调用了对象的构造函数之后,为对象分配内存,构造函数以后还可能获得其他系统资源,比如网络连接,数据库或者文件.
一旦程序不再使用对象,对象就必须采取一种严格的方式来返回内存和释放资源.如无法释放这些资源,会导致资源泄漏,有可能耗尽可用的资源,防碍程序的继续执行.
在c,c++中,程序员必须显示的管理内存,与此相反,c#中在内部执行内存管理,.NET框架会对内存执行垃圾回收,归还不再需要的系统内存.垃圾回收器执行时,会标识出应用程序不再引用的对象.此类对象即可以当时回收,也可以在垃圾回收器的后期执行过程中回收,因此,在c,c++中普遍的内存泄漏问题(内存不由运行库回收)在c#中变得相当罕见.
至于其他资源的分配与解除分配,比如网络连接,数据库连接和文件等,仍然必须由程序员显示的空值,为处理这些资源,一种技术(与垃圾回收器配合使用)是定义析构函数,以便将资源返回给系统,垃圾回收器调用一个对象的析构函数,先对那个对象执行终止操作,然后在由垃圾回收器回收对象的内存.这整个过程称为终止.
每个类只能包含一个析构函数.析构函数的命名方式是在类名称前添加~字符,例如TimeT类的析构函数便是~TimeT().析构函数不接受参数,所以析构函数不能重载,但垃圾回收器从内存中删除一个对象时,垃圾回收器首先调用那个对象的析构函数,以清除类使用的资源.然而我们不能准确的判断何时会调用析构函数,因为无法准确的判断何时发生垃圾回收,终止程序时,以前没有发生垃圾回收的任何对象都会收到析构函数调用.
- 垃圾回收,析构函数
- PHP析构函数与垃圾回收
- PHP析构函数与垃圾回收
- C#结构、垃圾回收、析构函数
- 构造函数、析构函数及垃圾回收
- C#中的析构函数和垃圾回收器
- 析构函数与PHP的垃圾回收
- C#垃圾回收和析构函数以及弱引用
- .NET垃圾回收机制 和析构函数
- php 析构函数与垃圾回收机制
- 构造函数;析构函数;垃圾回收器;非托管资源;托管资源
- 24-python_内部类-构造函数与析构函数-垃圾回收机制
- Python 构造函数、 Python 析构函数、Python 垃圾回收机制
- Python 构造函数、 Python 析构函数、Python 垃圾回收机制
- 垃圾回收与finalze()函数
- 析构函数和垃圾回收器在C#中的运用
- 浅谈C#的垃圾回收----关于GC、析构函数、Dispose、and Finalize
- 浅谈C#的垃圾回收-关于GC、析构函数、Dispose、and Finalize
- 一些有用的asp2.0资源
- Dream catcher
- ASP中取得图片宽度和高度的类(无组件)
- 没什么好说的
- 6月份要找实习了
- 垃圾回收,析构函数
- 用户私自增加带宽的秘密[一般人我不告诉他]
- Retrotranslator--将JDK5.0项目完全转换为JDK1.4 字节码的恩物
- 静态类成员
- javascript小技巧
- SQL查询语句精华
- #1264 - Out of range value adjusted for column 'ID' at row 1
- 猪,我爱你是不会变的
- 主动防御型杀毒软件的技术探讨