第九章 良构类型
来源:互联网 发布:java 高并发http请求 编辑:程序博客网 时间:2024/05/17 01:17
1、垃圾回收
垃圾回收是“运行时”的重要功能,作用是回收不再被引用的对象所占的内存。这里回收的只是引用和内存,不包括数据库连接、网络端口、句柄以及硬件端口等。
在一次垃圾回收周期开始的时候,它识别所有的根引用(静态变量、CPU寄存器以及局部变量或者参数实例)。基于此列表,垃圾回收可以遍历每个根引用所标识的树形结构,并递归确定所有根引用指向的对象。这样,垃圾回收就可以识别出所有可达对象。
执行垃圾回收时,垃圾回收不是枚举所有访问不到的对象,相反,它将所有可达对象紧挨着放在一起,从而覆盖不可访问对象所占用内存。
.NET垃圾回收的特别之处在于,并非所有垃圾都一定会在一个垃圾回收周期中清除。而是已更快的频率尝试清除生存时间较短的对象。生存时间较长的对象会以较低的频率清除。
2、弱引用
弱引用不禁止对象进行垃圾回收,但会维持一个引用。如果对象没有被清除,就可以重用。弱引用是为创建开销和维护开销比较的对象而设计的。
创建弱引用
Object obj = new Object;
WeakReference wref = obj;
从弱引用获取强引用
Object obj2 = wref.Target;
阅读全文
0 0
- 第九章 良构类型
- 《Erlang 程序设计》练习答案 -- 第九章 类型
- 重构第九章
- 第九章
- 第九章
- 第九章
- 第九章
- 第九章
- 第九章
- 第九章
- 第九章
- 第九章
- 第九章
- 第九章
- 第九章
- 第九章
- 第九章
- 第九章
- 单元测试中解决不同环境下的文件路径问题
- MainActivity
- JS 阿拉伯数字转中文简体
- 通过9png增加点击区域
- ARM和Thumb的跳转指令B、BL、BX
- 第九章 良构类型
- 算法(第四版)kindle支持 mobi格式
- JS 深复制对象 【克隆】
- 产品基础功能之求助反馈:小功能大门道
- 反转链表
- IKAnalyzer分词器jar包下载
- 燕麦云何洋开讲丨东博会“走出去”,燕麦云信息安全技术护航
- ext treestore 自动加载问题
- 白底黑字!Android浅色状态栏黑色字体模式