[toc]

摘自 https://mp.weixin.qq.com/s/uz85-w9ZfwRP0ZZCI7jOzQ

# 什么是池化思想

池化思想在日常编程中其实非常常见。比如 Web 开发面试时经常会问到 java 的线程池的实现。以及游戏开发中常用的对象池、引用池等等一系列的池。那么池化思想到底是用来做什么的呢?

有一点需要肯定的是,当我们尝试创建一个新的对象或者销毁一个旧的对象的时候,一定会带来一定的时间和性能开销。而面对一个大型的系统而言,在没有池的前提下,大量的创建以及销毁是不可避免的。一个对象的创建或销毁的时间可以忽略不计,但是数以万计的对象的创建和销毁就会带来巨大的 GC 和性能等开销。

这时,聪明的先人就想到了一个解决方法,即避免频繁的生成和销毁,而是创建一个池子,池子内存放一些已经创建好的对象,用的时候取出,不用的时候放回。

# 池子的常见实现数据结构

虽然嘴上说的是池子,但大部分的实现数据结构都是一个简单的 List.

更新于

请我喝[茶]~( ̄▽ ̄)~*

Solvarg 微信支付

微信支付

Solvarg 支付宝

支付宝

Solvarg 贝宝

贝宝