在之前写的一篇文章(XAML: 自定义控件中事件处理的最佳实践)中,我们曾提到了在 .NET 中如果事件没有反注册,将会引起内存泄露。这主要是因为当事件源会对事件监听者产生一个强引用,导致事件监听者无法被垃圾回收。 在这篇文章中,我们首先将进一步说明内存泄露的问题;然后,我们会重点介绍 .NET 中 ...
1. C语言的函数malloc和free (1) 函数malloc和free在头文件<stdlib.h>中的原型及参数 void * malloc(size_t size) 动态配置内存,大小有size决定,返回值成功时为任意类型指针,失败时为NULL。 void free(void *ptr) 释 ...
分类:
编程语言 时间:
2018-02-23 00:21:31
阅读次数:
254
Java中线程安全的容器主要包括两类: 、`Hashtable Collections.synchronizedList Collections.synchronizedMap`; Java 5.0引入的 包,其中包含并发队列、并发HashMap以及写入时复制容器。 依笔者看,早期使用的同步容器主要 ...
分类:
编程语言 时间:
2018-02-22 10:49:39
阅读次数:
197
垃圾[1]回收是一种自动管理内存的方式。通常认为手动内管理[2]与垃圾回收相反。 就像其他内存管理技术,垃圾回收可能占据大部分程序处理时间,因而对性能有很大影响。 垃圾回收通常不处理内存之外的资源,比如网络 sockets、数据库 handles、用户交互界面和文件与设备描述符。常用的管理上述资源的 ...
分类:
其他好文 时间:
2018-02-19 11:34:44
阅读次数:
151
threadlocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存泄露. ** 最好的做法是将调用threadlocal的remove方法.**: 把当前ThreadLocal从 ...
分类:
其他好文 时间:
2018-02-14 17:53:08
阅读次数:
133
1.概述 java不在需要开发人员显示的分配内存和回收内存,而是由JVM自动管理内存的分配和回收(又称为垃圾回收 GC),这简化了编程难度,但同时可能使得程序员在不知不觉中浪费了很多内存,导致JVM花费很多时间进行垃圾回收。另外还有可能由于不清楚JVM的内存分配和回收机制造成内存泄露。最终导致JVM ...
分类:
其他好文 时间:
2018-02-13 16:38:56
阅读次数:
192
1、内存泄露:http://www.cnblogs.com/xybaby/p/7491656.html 2、内存优化:http://www.cnblogs.com/xybaby/p/7488216.html 3、性能提升:http://www.cnblogs.com/xybaby/p/6510941 ...
分类:
编程语言 时间:
2018-02-12 20:13:43
阅读次数:
156
之前在做一个音频特征提取的批量处理程序,老是出现内存泄露问题,用Visual Leak Detector(VLD)工具做了下检测,检测出了一些问题,解决后还是会有问题。之后继续排查,因为我的代码中,大量的音频相关处理的数据都存成了vector变量,推测是不是vector变量的析构问题,上网查了些资料 ...
分类:
其他好文 时间:
2018-02-09 15:33:44
阅读次数:
234
闭包的理解 使用闭包主要是为了设计私有的方法和变量。 优点是可以避免全局变量的污染, 缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露 Cookie 第一:每个特定的域名下最多生成20个cookie IE6或更低版本最多20个cookie IE7和之后的版本最后可以有50个cook ...
分类:
其他好文 时间:
2018-02-08 11:05:48
阅读次数:
145
最近项目在进行对外测试,在服务器上线几个小时后,内存飙到了5.8G(预期2G),JVM一直在GC。 由于现场太大(dump有6G左右)和网络条件不理想,我们边下载dump边开着自己的测试服务器来模拟少量玩家游戏并且通过图形化工具来监视内存中的重量级对象,如玩家、场景等。最后在发现玩家缓存过期清空后, ...
分类:
其他好文 时间:
2018-02-08 00:31:58
阅读次数:
150