首页
AI Coding
AIDP
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
后端技术小屋
掘友等级
clickhouse开发
|
百度
微信公众号:后端技术小屋。专注C++/Go/Java后端技术:分布式,中间件,大数据,性能优化,监控,高可用,虚拟化
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
9
文章 9
沸点 0
赞
9
返回
|
搜索文章
赞
文章( 9 )
沸点( 0 )
Jemalloc内存分配与优化实践
本文将主要介绍 Jemalloc 的基本原理以及一些简单易用的优化方法,帮助开发者在 Jemalloc 的实际应用中,获得更好的性能表现。
STL源码分析--algorithm
STL中实现了一些跟容器相关的一些算法。这里介绍algorithm头文件中一些有意思的算法实现。 algorithm头文件中定义的find函数可适用于所有定义了迭代器的STL容器。但是一些常用的容器如map/unordered_map/set/unordered_set也定义了…
STL源码分析--traits
traits(译作萃取)是C++中一种特殊的编程技法,它是模板元编程最直接的用例之一。通过traits,可以抽取模板入参类型的各种属性。接下来我们通过STL中最常见的几种traits举例说明。 __type_traits用于判断类型是否为trival(译作平凡)。 如果一个类型…
STL源码分析--iterator
在STL中,迭代器分为输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭代器。这里先讲输入迭代器这个大类。 输入迭代器指向的位置只能被顺序读取(iterator_category类型为input_iterator_tag)。在每种迭代器类型中,必须定义iterator_…
STL源码分析--list
同vector, 申请内存的调用链如下。allocator见STL源码分析--内存分配器 注意用户可为list实例自定义内存分配器,内存分配器类型通过模板参数传入,内存分配器实例通过函数参数传入。_M_get_node从内存分配器中申请一个链表节点_List_node<…
STL源码分析--内存分配器
allocator申请和释放内存通过alloc中的静态方法实现。 二级内存池为一个静态数组,数组元素类型为_Obj*,每个数组元素即一个单向链表的头。 一级内存池是一段连续的大缓冲区。其中_S_start_free表示可用内存开头,_S_end_free表示可用内存末尾, _S…
STL源码分析--string
从定义可知, string其实是base_string的特化类,string使用默认的内存分配器__STL_DEFAULT_ALLOCATOR(_CharT)。 而traits是c++中一个重要特性,使用traits可在编译器确定类型相关的信息。比如某个模板参数是否为整形。st…
zookeeper client原理总结
zookeeper是一款流行的分布式协调组件,被广泛用于leader选举、分布式锁、服务发现、名称服务、配置中心等场景。 1. 状态含义 zk client与zk server在建立连接、保持连接、断开连接的过程中,会经历各种状态。如下所示 2. 状态转换 sessionTim…
STL源码分析--vector
我们都知道,vector是一种更高级的数组,而数组必然包含一段连续的缓冲区。如下所示,_M_start表示这段缓冲区内数据区的左实边界,_M_finish表示缓冲区内数据区的右虚边界,_M_end_of_storage指向内存缓冲区的右虚边界 reverse_iterator的…
个人成就
文章被点赞
47
文章被阅读
26,502
掘力值
936
关注了
13
关注者
25
收藏集
2
关注标签
14
加入于
2018-12-04