内存管理思想总结:
目标:
1)避免碎片
2)快速申请和释放
解决方法:
1)按层级分区块。分区块管理,互相不污染。例如arena、chunk、run、region不同层级。这里说的污染是指碎片化
2)分配时拆分和释放时合并。
3)充分使用各种缓冲技术,提高性能。
4)使用各种高效的数据结构及其算法,包括多级bitmap、链表、二叉树、红黑树、匹配堆,等等。
5)减少管理数据meta data百分比。
6)内存划分为各个池。使用池的概念,池中对象大小都相同。不同的池,对象大小可以不同。
7)充分利用cpu的cache的优化。
8)其他机制,例如减少锁的访问,局部锁代替全局锁,从而减少竞争出现的次数。
具体内容请看我的相关视频。