C++ maps是一种关联式容器,包含“关键字/值”对 begin() 返回指向map头部的迭代器 clear() 删除所有元素 count() 返回指定元素出现的次数 empty() 如果map为空则返回true end() 返回指向map末尾的迭代器 equal_range() 返回特殊条目的迭 ...
分类:
其他好文 时间:
2019-01-23 14:32:41
阅读次数:
223
条目十《了解分配子(allocator)的约定和限制》 在STL标准库中,分配子的存在有点怪异。 一开始的设计意图是提供一个内存模型的抽象,让使用库者库忽略操作系统的near指针和far指针问题。但此目的没有达到。另一个目的是为了有利于开发作为对象形式存在的内存管理器。 从书中的这句话,其实我咋一看 ...
分类:
其他好文 时间:
2019-01-12 01:04:00
阅读次数:
246
条目十一《理解自定义分配子的合理用法》 根据大牛们的测试: STL默认的内存管理器(allocator)太慢,或者浪费内存,或者在使用的时候会产生内存碎片。 又或者需求不一样时: 1.allocator是多线程安全的,而你运行环境是单线程,所以想减少线程同步带来的te不必要开销。 2.当想把容器的对 ...
分类:
其他好文 时间:
2019-01-12 01:03:20
阅读次数:
139
本文中的vector指的是std::vector C++11标准。 Vector 类定义: template <class T,class Alloc = allocator <T> > class vector; //通用模板 vector是表示可以改变大小的数组的序列容器。 就像数组一样,vec ...
分类:
其他好文 时间:
2019-01-09 20:27:10
阅读次数:
226
Netty源码分析第五章: ByteBuf 第六节: page级别的内存分配 前面小节我们剖析过命中缓存的内存分配逻辑, 前提是如果缓存中有数据, 那么缓存中没有数据, netty是如何开辟一块内存进行内存分配的呢?这一小节带大家进行剖析: 剖析之前首先简单介绍netty内存分配的大概数据结构: 之 ...
分类:
Web程序 时间:
2019-01-01 19:51:09
阅读次数:
199
动态内存相关内容,智能指针shared_ptr, unique_ptr, weak_ptr, 动态数组的操作,allocator类及算法 ...
分类:
编程语言 时间:
2018-12-27 23:42:06
阅读次数:
352
1、new和delete有一些灵活性上的局限:new把内存分配和对象构造组合在了一起;delete将对象析构和内存释放组合在了一起。 2、当分配一大块内存时,我们通常计划在这块内存上按需构造对象,在此情况下,我们希望将内存分配和对象构造分离;这意味着我们可以分配大块内存,但只在真正需要的时候才真正执 ...
分类:
编程语言 时间:
2018-12-22 16:51:57
阅读次数:
256
aggregation 聚合、聚集 algorithm 算法 alias 别名 align 排列、对齐 allocator 分配器、配置器 angle bracket 尖括号 annotation 注解、评注 background bracket (square brakcet) build cac ...
分类:
其他好文 时间:
2018-12-15 00:22:16
阅读次数:
196
一、内存的碎片化 如果用c语言直接 malloc,free 来向操作系统申请和释放内存时,在不断的申请和释放过程中,形成了一些很小的内存片断,无法再利用,这种空闲,但无法利用内存的现象称为内存的碎片化。 二、slab allocator 缓解内存碎片化 memcached 用 slab alloca ...
分类:
系统相关 时间:
2018-12-12 00:38:17
阅读次数:
254
1. cluser概述 2. ClusterModule模块的作用 3.重点类介绍: 3.1 配置类Decider 各种Decider关系如下 以EnableAllocationDecider.java为例: Decider的使用 3.2 配置类Allocator 使用 3.3 服务类 分别调用 2 ...
分类:
其他好文 时间:
2018-12-11 17:22:04
阅读次数:
259