服务类程序防止内存不断增长的一些方法(一)
2009-10-15 09:26
387 查看
相信在日常开发中,大家经常会碰到编写服务类程序内存不断增长的情况。 我用我这些日子开发服务类程序的经验给大家做个总结。
1. 单例模式
单例模式对于某些高复用的应用,能极大的节省内存开销,是个不错的设计方案。
2. 对于继承了IDisposable 接口的对象,尽量使用using(),GC 会在大括号结束后对创建的对象进行回收。
3. static 不要滥用,除了特别常用的,不面向实体类的方法和属性用static 外, 其它的最好别用,让GC托管是明智的选择.
4. 非托管的代码要着重注意,这块一般是发生疑难问题的主要原因。
1. 单例模式
单例模式对于某些高复用的应用,能极大的节省内存开销,是个不错的设计方案。
public class MemoryDataTable { private static MemoryDataTable _Instance; public static MemoryDataTable Instance { get { if (_Instance == null) { _Instance = new MemoryDataTable(); } return _Instance; } protected set { _Instance = value; } } }
2. 对于继承了IDisposable 接口的对象,尽量使用using(),GC 会在大括号结束后对创建的对象进行回收。
using (object obj = new object) { //todo }
3. static 不要滥用,除了特别常用的,不面向实体类的方法和属性用static 外, 其它的最好别用,让GC托管是明智的选择.
4. 非托管的代码要着重注意,这块一般是发生疑难问题的主要原因。
相关文章推荐
- 程序内存或CPU异常增长问题的一个调试分析方法
- mysql 插入数据失败防止自增长主键增长的方法
- 10种检测Python程序运行时间、CPU和内存占用的方法
- 关于 ADO 内存泄露 内存增长 的一些个人观点及解决方案
- paip.提升性能---C#.NET程序内存占用过多以及OutOfMemory解决方法
- 视频加密和程序加密工具超级狗的一些介绍和使用方法
- 总结C#中得到程序当前工作目录和执行目录的一些方法
- Java-检测Java程序运行时内存消耗的方法-Jconsole
- 使用OpenCv库的MFC程序在退出后报内存泄露Detected memory leaks! 可能解决方法
- 防止SQL注入攻击的一些方法小结
- [SHELL] 注意点和一些常用方法(不断更新)
- 修改Eclipse的内存值,防止程序无响应
- 利用FTP程序有效防止木马的方法
- C# 两个程序如何获得同用内存,一程序调用另外一程序内的方法或函数
- 避免内存泄露的一些简单方法
- 防止SQL注入攻击的一些方法小结
- Linux 下查看某一个程序所使用的内存方法介绍
- win764位系统上让32位程序能申请到4GB内存方法。
- VC程序调试技术,一些工具上和具体的问题,包括内存检测
- 使用axis2构建webservice时客户端内存不断增长导致应用服务器频繁重启的解决方案 .