作用 此接口的主要用途是释放非托管资源。 当不再使用托管对象时,垃圾回收器会自动释放分配给该对象的内存。 但无法预测进行垃圾回收的时间。 另外,垃圾回收器对窗口句柄或打开的文件和流等非托管资源一无所知。 检查 在 Visual Studio 中运行代码分析的时候,如果某一个类中,包含了实现 IDis...
RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。IndexRunLoop ...
分类:
其他好文 时间:
2015-06-16 12:46:34
阅读次数:
159
Deinitialization当类的实例对象即将要被释放时,会立即调用deinitializer,通过deinit关键字来定义deinitializer,和initializer一样,它也只存在于类类型上。当实例对象不再有用时,Swift会自动释放该对象。Swift通过自动引用计数(ARC)来管理...
分类:
编程语言 时间:
2015-06-16 12:28:42
阅读次数:
143
场景:
1. 使用auto_ptr 的方式可以wrap类对象, 之后在方法结束后可以自动释放对象, 参考;这样在有条件判断的语句时可以省掉free语句或CloseHandle.
http://blog.csdn.net/infoworld/article/details/9008911
2.C++的特性之一就是类对象(非返回值的对象)在方法结束后会自动调用析构函数,这样在析构函数里可以放一些释放资源的操作.
3. 这里实现了一个类似auto_ptr的类的实用Wrap类,可以参考根据自己需要自定义特...
分类:
编程语言 时间:
2015-06-14 18:35:49
阅读次数:
178
结论:当DataReader放在Using方法中时,会自动释放资源,如果中途出现了异常处理,也同样会释放掉占用的资源。测试过程:这里由于没有将全部分过程记录下来,只是对结果大体的说明一下,有兴趣的童鞋可以自己测试。首先正常的处理流程:1 MySqlDataReader dr = MySqlHelpe...
分类:
数据库 时间:
2015-06-10 13:50:02
阅读次数:
228
RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。目录RunLoop 的概...
分类:
其他好文 时间:
2015-06-09 13:33:39
阅读次数:
127
虽然javascript拥有垃圾收集,但是垃圾收集机制并不会自动释放持久对象,比如websocks连接。为了能够在某些特定情况下中止一些连接(比如内存不足),显然要建立全局的对象管理器进行管理。显而易见,双向链表是最符合管理这类对象的数据结构。这里实现了增加对象,删除某个对象,以及释放所有对象的方法...
分类:
Web程序 时间:
2015-06-08 18:58:03
阅读次数:
128
#include
Ref is used for reference count manangement. If a classinherits from Ref.
Class Ref 为引用计数类,用来管理对象的引用计数。这样就不会出现还有指针保持指向该对象,当使用该指针操作时,如果指向的对象被销毁就会出现程序异常。
class
CC_DLL Ref
{
public:
...
分类:
其他好文 时间:
2015-06-06 18:16:18
阅读次数:
181
Linux 用了一段时间,内存就爆满了,Swap也开始使用,因为linux设计读取的数据都会缓存在内存里面,这样对于频繁读取的应用可以减少IO消耗,但像我这种不是SSD硬盘的PC用户,打开应用就感觉一卡一卡的,烦都烦死啦,不得不手动清除内存的数据(理论上linux会自动释放内存)。其实一条命令就搞定...
分类:
系统相关 时间:
2015-06-05 00:15:27
阅读次数:
169