看到hadoop代码里有ByteBufferPool,使用池子来避免频繁创建、销毁ByteBuffer,减轻GC压力,提高性能。 顺便总结一下池化技术
一、什么是池化技术?
池化(Pooling) 是一种资源管理策略,通过预先创建并复用资源(如数据库连接、线程、内存对象等)来提升系统性能和资源利用率。其核心思想是 “避免重复创建和销毁,减少开销”。
举个例子解释一下,想象一个图书馆,池化技术就像是图书馆的借书系统。图书馆有一定数量的书籍(资源),读者(任务)可以借阅(获取)书籍,阅读(使用)后归还(释放)书籍。这样,书籍可以被多个读者反复借阅,而不需要为每个读者购买新的书籍。
二、池化技术的核心原理
2.1 资源的生命周期管理
- 初始化阶段:在系统启动时,创建一个资源池,并预先分配一定数量的资源。(如10个数据库连接)
- 获取资源:当用户需要使用资源时,从池中获取一个可用资源,用完后归还,以便其他任务重用。
- 释放资源: