内存管理
Stark_Burton
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
内存管理——ptmalloc机制和SGI STL的二级空间配置器的区别
今天遇到了一个有意思的问题:ptmalloc内存分配机制是数组+链表管理的,而SGI STL的二级空间适配器同样是数组+链表管理方式,那么有了malloc的ptmalloc的机制,为什么不直接用呢?为什么还要有二级空间配置器这东西存在呢???个人理解: 先从空间配置器入手,空间配置器将new的操作细分: 1.先申请空间, 2.在申请的空间上调用构造函数 (为什么要将这两步拆分,之前的博...原创 2018-05-13 18:01:55 · 405 阅读 · 0 评论 -
STL——空间配置器的笔记
空间配置器是什么???? 空间配置器是STL六大组件之一,是为容器提供配置空间的一个组件。(容器如vector、list、map等作为基础就不单独写一篇博客了)那么谈到空间适配器之前,我们需要了解这样的预备知识 c++的new的操作实质上分为两步:1.申请内存 2.调用构造函数 delete同样也是两步:1.调用析构函数 2.释放内存那么STL为了紧密分工,将调用构造函数,和空间的...原创 2018-05-07 17:00:33 · 340 阅读 · 0 评论 -
内存管理——ptmalloc、空间适配器、nginx内存管理的区别
今天整理一下最近看到的三个关于内存管理的方法,他们有哪些相同点,有哪些不同点。 上一篇博客已经讲述了ptmalloc和二级空间配置的不同点,今天来聊聊nginx网络库自带的内存管理的独特方式。 首先,先来看看nginx内存池的主要的两种数据结构typedef struct {u_char *last; //表示当前已使用数据区的结尾u_char *end; ...原创 2018-05-14 17:24:16 · 328 阅读 · 0 评论 -
操作系统——内存管理和虚拟地址映射那些事
为什么会有内存管理??? 随着计算机的高速发展,计算机早已不是单道处理模式了,不再使用古老的纸带打孔的方式,将持续输入到cpu,让其执行了,而是将程序加载到内存中去,那么当多个程序同时运行的情况下,怎么去给程序分配位置就是发明者要考虑的问题了。因此有了内存管理这种说法,内存管理的目标有两点: 1.地址保护:一个程序不能访问另一个程序的地址空间 2.地址独立:程序发出的地址应与物理地址没有直接关原创 2018-05-08 17:35:43 · 1274 阅读 · 0 评论 -
内存管理——智能指针的理解
首先,还是从为什么出发 为什么要有智能指针??? 为了防止内存泄漏,比如:程序员写new的时候忘记delete,或者异常处理时候直接跳过你的delete语句了,自己在编译器里写程序的危害还不算太大,因为进程结束,操作系统会自动回收对应分配出去的内存,但试想有公司里服务器上的进程需要不停的用,那么内存泄漏带来的危害是很恐怖的,那么就引入了智能指针的概念,它利用了类对象出作用域自动调用析构函数的这...原创 2018-05-15 19:24:55 · 491 阅读 · 0 评论
分享