PoolThreadCache
Netty有一个大的公共内存容器PoolArena,用来管理从操作系统中获得的内存,在高并发下如果所有线程都去这个大容器获取内存它的压力是非常大的,所以Netty为每个线程建立了一个本地缓存,即PoolThreadCache,每次需要申请内存的时候都先从本地缓存池中分配,分配失败再去公共内存池分配,PoolThreadCache是个最终类,它的数据结构如下:
在这个本地线程缓存中又细分两个子缓存列表,即small类型和normal类型的缓存列表,它的数据结构如下:
下面分析它的构造函数:
构造函数
以直接内存为例分析两个子缓存列表的初始化过程。
createSubPageCaches
SubPageMemoryRegionCache的构造函数:
createNormalCaches
NormalMemoryRegionCache的构造函数:
至此,PoolThreadCache的基本了解介绍结束,感谢阅读。
全文完,如果觉得文章有点意思,不妨点个“赞”或者“在看”吧,您的每一份正反馈都是对三横兰写作的最大肯定,感谢阅读_
每天坚持一点点,每天进步一点点
坚持是日复一日,质变需日积月累
我是三横兰,那个三横的兰