在我写C++代码的那些时间里,我没有写过垃圾回收器,也没有实现过自己的内存分配器,这方面的文章倒是看了不 少。比如我在写C#代码时只管new而不需要释放,我也明白有个垃圾回收器在那帮我回收那些堆上的对象,但具体的实现也没有深究。这段时间我突然想起了以 前在某个地方看过关于一个小型垃圾回收器实现的文章...
分类:
编程语言 时间:
2015-05-29 06:09:05
阅读次数:
336
1. vector 底层基本结构是数组,内存空间不够时会调用分配器(allocator)动态开辟双倍的内存空间。2. vector 中有 size 和 capacity 之分,size 相当于瓶子里有多少水,capacity则是瓶子的容积3. 当vector调用clear函数的时候,size变为0,...
分类:
其他好文 时间:
2015-05-27 20:36:23
阅读次数:
156
Allocaorallocator 指的是空间配置器,用于分配内存。STL中默认使用SGI STL alloc作为STL的内存分配器,尽管未能符合标准规格,但效率上更好。SGI STL也定义有一个符合标准,名为allocator的配置器,但SGI自己从未使用过它,主要原因是它仅仅把C++的new操作...
分类:
其他好文 时间:
2015-05-17 10:46:39
阅读次数:
136
要想深入的理解STL的迭代器、分配器等,就必须了解C++模板编程中的一个技巧——Traits。
1、问题的提出
C++的模板特性为泛型编程提供了支持。这样我们就可以编写更加通用的代码,而不必过分去关心参数的类型。然而事实却是,类型的不同,很多时候却影响到了算法中的某个小小的实现。举个标准库里的类string,wstring。
其实它们对应的是两个模板,前者单字符,后者宽字符。...
分类:
编程语言 时间:
2015-05-10 11:29:03
阅读次数:
231
要想深入的理解STL的迭代器、分配器等,就必须了解C++模板编程中的一个技巧——Traits。1、问题的提出C++的模板特性为泛型编程提供了支持。这样我们就可以编写更加通用的代码,而不必过分去关心参数的类型。然而事实却是,类型的不同,很多时候却影响到了算法中的某个小小的实现。举个标准库里的类stri...
分类:
编程语言 时间:
2015-05-10 11:14:31
阅读次数:
353
目标:实现一个放置策略为首次适配,并合策略为立即并合基于隐式空闲链表的内存分配器。
这里使用memlib.c包提供的存储器系统模型,该模型允许我们在不干涉已存在的malloc包的情况下运行分配器,也就是说封装了malloc函数。
memlib.h
void mem_init(void);
void *mem_sbrk(int incr);
memlib.c:(封装了mal...
分类:
移动开发 时间:
2015-05-07 18:53:55
阅读次数:
205
第三章 进程管理1. fork系统调用从内核返回两次: 一次返回到子进程,一次返回到父进程2. task_struct结构是用slab分配器分配的,2.6以前的是放在内核栈的栈底的;所有进程的task_struct连在一起组成了一个双向链表3. 2.6内核的内核栈底放的是thread_info结构,...
分类:
系统相关 时间:
2015-04-11 16:14:03
阅读次数:
257
1) Linux中主要有哪几种内核锁?2) Linux中的用户模式和内核模式是什么含意?3) 怎样申请大块内核内存?4) 用户进程间通信主要哪几种方式?5) 通过伙伴系统申请内核内存的函数有哪些?6) 通过slab分配器申请内核内存的函数有?7) Linux的内核空间和用户空间是如何划分的(以32位...
分类:
系统相关 时间:
2015-04-01 23:33:03
阅读次数:
192
一. 原理tcmalloc就是一个内存分配器,管理堆内存,主要影响malloc和free,用于降低频繁分配、释放内存造成的性能损耗,并且有效地控制内存碎片。glibc中的内存分配器是ptmalloc2,tcmalloc号称要比它快。一次malloc和free操作,ptmalloc需要300ns,而t...
分类:
其他好文 时间:
2015-03-13 18:26:40
阅读次数:
414
来自Oracle官方文档,对JVM GC知识整理的清晰易懂,查资料还是看官方的好!1 GC步骤简述步骤1:标记 (Marking)根据对象引用关系,将未被任何对象引用的对象实例标记出来,如下图中的黄色。当堆中的所有对象都要被扫描一遍时(如Major GC),将会非常耗时。步骤2:删除 (Sweeping)Ø 普通删除:直接删除未被引用的对象,之后内存分配器(memory allocator)要持...
分类:
其他好文 时间:
2015-02-28 23:03:09
阅读次数:
308