
内存管理(Memory)
文章平均质量分 91
xushiweizh
这个作者很懒,什么都没留下…
展开
-
C++内存管理变革
本文已经迁移到: http://cpp.winxgui.com/cn:story-of-c-memory-management-innovationC++内存管理变革许式伟2005-7-16关键字: 内存管理 垃圾回收器 内存配置器 引用计数keyword: memory manage, memory recycler, allocator, reference count原创 2006-11-16 21:41:00 · 23846 阅读 · 40 评论 -
C++内存管理变革(3):另类内存管理
本文已经迁移到: http://cpp.winxgui.com/cn:peculiar-ideas-of-memory-management-autofreealloc-s-typical-applicationsC++内存管理变革(3):另类内存管理许式伟2007-1-9 最简单的C++/Java程序最简单的Java程序:class Program{ p原创 2007-01-10 00:13:00 · 7766 阅读 · 9 评论 -
WINX窗口类对象的内存管理
WINX窗口类对象的内存管理许式伟2006-12-29 为了引入WINX窗口类对象的内存管理(生命周期模型),我绕了一大圈子。实在是,内存管理太重要了,花多少口舌介绍它都不过分。我曾经见到这样一句话:"C++程序员觉得内存管理太重要了,所以一定要自己进行管理;Java/C#程序员觉得内存管理太重要了,所以一定不能自己去管理"。从某种意义上说,两者都是对的。 我在《C++内存管理原创 2007-01-11 22:11:00 · 4462 阅读 · 1 评论 -
WINX的STD_NEW与MFC共存问题
本文已经迁移到:http://cpp.winxgui.com/cn:std-new-conflict-with-mfcWINX的STD_NEW与MFC共存问题许式伟 (版权声明)2007-3-8事由WINX的 AutoFreeAlloc 受到了广泛的关注,很多读者反应这对他们很受启发。昨天有读者反馈了 STD_NEW 与 MFC 不能共存的问题,我在这里想谈一下这个问题。原原创 2007-03-08 11:20:00 · 4123 阅读 · 2 评论 -
C++内存管理变革(4):boost::object_pool与gc allocator
本文已经迁移到: http://cpp.winxgui.com/cn:gc-allocator-and-boost-object-poolC++内存管理变革(4): boost::object_pool许式伟 (版权声明)2007-4-21这篇文章拖的有点久了。NeutralEvil 在3个月之前就在催促我继续写了。只是出于WinxGui完整性的考虑,我一直在刻意优先去补充其它方面的文原创 2007-04-21 20:59:00 · 11913 阅读 · 6 评论 -
C++内存管理变革(6):通用型垃圾回收器 - ScopeAlloc
本文已经迁移到:http://cpp.winxgui.com/cn:a-general-gc-allocator-scopealloc C++内存管理变革(6):通用型垃圾回收器 - ScopeAlloc许式伟2008-1-22引言在前文,我们引入了GC Allocator(具备垃圾回收能力的Allocator),并提供了一个实作:AutoFreeAlloc(详细原创 2008-01-22 18:14:00 · 8806 阅读 · 9 评论 -
C++内存管理变革(7):基于ScopeAlloc的STL容器
C++内存管理变革(7):基于ScopeAlloc的STL容器许式伟2008-2-4来由在前文(请参阅《C++内存管理变革(6):通用型垃圾回收器 - ScopeAlloc》),我们介绍了ScopeAlloc。既然我们称之为一个通用型的GC Allocator,那么这里我们就谈谈如何用ScopeAlloc来改造STL的容器,它们包括:std::list, std::map,原创 2008-02-04 15:03:00 · 5097 阅读 · 5 评论 -
Stdext Allocators Graph
这两幅图很棒,具参考意义,转帖下。出处:http://blog.krzycube.net/stdext-allocators-graph/ --- 从2006年到2009年初,虽然WINX的作者(@xushiwei)大多时间就在我身边,不过我一直对这东西兴趣缺缺。当然我的懒惰占了95%以上的原因,另外1%是因为一直在做后台,所以不怎么会想起WINX,即便偶尔写个小工具我也会对比以后转载 2009-08-24 22:22:00 · 2391 阅读 · 0 评论 -
Java的内存泄漏
Java的内存泄漏作者:欧阳辰, 周欣出处:http://www-128.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/2002 年 10 月 21 日Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问转载 2006-12-21 22:33:00 · 7412 阅读 · 6 评论 -
跨模块内存管理的陷阱
跨模块内存管理的陷阱许式伟2004年6月21日由于编译器、编译模式的不同,不同模块的内存结构与管理程序往往并不相同。因此,如果我们在一个模块申请内存,而在另一个模块中释放,这是一个不安全的做法。因为模块在释放内存的时候,并不会预料到需要释放的内存并非是自己管理的。 直观的说,假设我们有两个模块:Module1,Module2。它们有函数Module1.alloc,Module1原创 2006-12-21 22:02:00 · 6611 阅读 · 3 评论 -
重载new/delete要遵循的规则
条款8: 写operator new和operator delete时要遵循常规 自己重写operator new时(条款10解释了为什么有时要重写它),很重要的一点是函数提供的行为要和系统缺省的operator new一致。实际做起来也就是:要有正确的返回值;可用内存不够时要调用出错处理函数(见条款7);处理好0字节内存请求的情况。此外,还要避免不小心隐藏了标准形式的new,不过这是条款转载 2006-11-19 10:54:00 · 8320 阅读 · 1 评论 -
C++内存管理变革(2):最袖珍的垃圾回收器
本文已经迁移到: http://cpp.winxgui.com/cn:the-tiniest-gc-allocator-autofreealloc最袖珍的垃圾回收器许式伟2005-7-17关键字: 内存管理 垃圾回收 AutoFreeAllockeyword: memory manage, gc, garbage collection, AutoFreeAlloc原创 2006-11-19 19:48:00 · 25395 阅读 · 65 评论 -
内存池(MemPool)技术详解
本文已经迁移到: http://cpp.winxgui.com/cn:dive-into-memory-pool概述内存池(MemPool)技术备受推崇。我用google搜索了下,没有找到比较详细的原理性的文章,故此补充一个。另外,补充了boost::pool组件与经典MemPool的差异。同时也描述了MemPool在sgi-stl/stlport中的运用。 经典的内存池技术原创 2006-11-22 00:44:00 · 35072 阅读 · 21 评论 -
垃圾收集机制(Garbage Collection)批判
垃圾收集机制(Garbage Collection)批判作者:未知(我很乐意与作者取得联系,并在这提供提供署名和链接)在Java版发表这篇文章,似乎有点把矛头指向Java了。其实不是,GC是所有新一代语言共有的特征,Python, Eiffel,C#,Roby等无一例外地都使用了GC机制。但既然Java中的GC最为著名,所以天塌下来自然应该抗着。这篇短文源于comp.lang.java转载 2006-11-22 22:19:00 · 5589 阅读 · 8 评论 -
boost::pool与内存池技术
建议看这个链接的内容:http://cpp.winxgui.com/cn:mempool-example-boost-pool Pool分配是一种分配内存方法,用于快速分配同样大小的内存块, 尤其是反复分配/释放同样大小的内存块的情况。1. pool 快速分配小块内存,如果pool无法提供小块内存给用户,返回0。 Example: void转载 2006-11-21 00:38:00 · 18293 阅读 · 3 评论 -
再论C++之垃圾回收(GC)
本文已经迁移到: http://cpp.winxgui.com/cn:garbage-collection-in-cplusplus使用智能指针(smart pointers) http://www.codeproject.com/cpp/garbage_collect.asp 原理:基于引用计数(reference count)。这种垃圾回收(gc)算法无非都是给每一原创 2006-11-24 02:04:00 · 31671 阅读 · 23 评论 -
AutoFreeAlloc细节
我在《C++内存管理变革:最袖珍的垃圾回收器》一文中,讨论了AutoFreeAlloc这个gc allocator。为了突出我的想法,我对忽略了一些细节的介绍。下面这一篇我觉得介绍得很好,把我没有提及的一些细节也做了介绍。推荐大家看看: Winx基本类使用指南之C++标准扩展(AutoFreeAlloc)原创 2006-11-30 18:43:00 · 3785 阅读 · 0 评论 -
最快速度找到内存泄漏
本文已经迁移到:http://cpp.winxgui.com/cn:the-fastest-way-to-find-memory-leak最快速度找到内存泄漏许式伟2006年11月某日 内存管理是C++程序员的痛。我的《内存管理变革》系列就是试图讨论更为有效的内存管理方式,以杜绝(或减少)内存泄漏,减轻C++程序员的负担。由于工作忙的缘故,这个系列目前未完,暂停。原创 2006-12-20 22:06:00 · 22835 阅读 · 12 评论 -
shared_ptr四宗罪
本文转载自:http://blog.liancheng.info/?p=85 转载的目的是:本Blog连载了多篇内存管理相关的文章,由于我本人比较排斥智能指针(在大学的时候写过几个,当时觉得这种方式很“神奇”,但是实际工程中绝少用过),所以此类内存管理方式并未深入探讨,这一篇弥补了这个不足。我不久前写过一篇“C++良好代码风格之我见 - 兼谈boost的工程实用价值”,里面概要转载 2009-06-24 22:04:00 · 10951 阅读 · 5 评论