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