这几天没事的时候都在自己写池的通用方法..今天测试了下,性能超差..算了,还是用大牛的吧..要站在巨人肩膀上..
用到commons-pool-1.4
运行结果:
1.认识PoolableObjectFactory、ObjectPool和ObjectPoolFactory
在Pool组件中,对象池化的工作被划分给了三类对象:
* PoolableObjectFactory用于管理被池化的对象的产生、激活、挂起、校验和销毁;
* ObjectPool用于管理要被池化的对象的借出和归还,并通知PoolableObjectFactory完成相应的工作;
* ObjectPoolFactory则用于大量生成相同类型和设置的ObjectPool。
相应地,使用Pool组件的过程,也大体可以划分成“创立PoolableObjectFactory”、“使用ObjectPool”和可选的“利用ObjectPoolFactory”三种动作。
创立PoolableObjectFactory
Pool组件利用PoolableObjectFactory来照看被池化的对象。ObjectPool的实例在需要处理被池化的对象的产生、激活、挂起、校验和销毁工作时,就会调用跟它关联在一起的PoolableObjectFactory实例的相应方法来操作。
PoolableObjectFactory是在org.apache.commons.pool包中定义的一个接口。实际使用的时候需要利用这个接口的一个具体实现。Pool组件本身没有包含任何一种PoolableObjectFactory实现,需要根据情况自行创立。
实现PoolableObjectFactory接口,要重写一下方法:
1.Object makeObject()方法。这个方法用于每次取得新的实例时调用。
2.void activateObject(Object obj)方法。这个方法用于将对象“激活”――设置为适合开始使用的状态。
3.void passivateObject(Object obj)方法。这个方法用于将对象“挂起”――设置为适合开始休眠的状态。
4.boolean validateObject(Object obj)方法。这个方法用于校验一个具体的对象是否仍然有效,已失效的对象会被自动交给destroyObject方法销毁
5.void destroyObject(Object obj)方法。这个方法用于销毁被validateObject判定为已失效的对象。
分享到:
相关推荐
### Apache Commons Pool:Java对象池化技术详解 #### 一、引言 在现代软件开发过程中,尤其是在基于Java的企业级应用开发中,资源管理和优化变得尤为重要。创建和销毁对象的成本通常较高,特别是在高并发场景下,...
Apache Commons Pool 是一个Java对象池库,主要用于提供各种对象池化的实现,以便高效地管理和复用有限的资源。标题中的"commo-pool, commons-pool commons-pool commons-pool"可能是由于输入错误,正确的应该是...
Apache Commons Pool 是一个广泛使用的开源组件,主要用于提供对象池化的实现。在Java世界里,对象池化是一种优化资源管理的重要技术,通过复用已创建的对象,避免频繁的创建和销毁过程,从而提升系统性能。最新版本...
Apache Commons Pool是一个对象池设计模式的实现,它提供了一种在应用程序中高效管理和重用对象的方式。对象池的基本思想是预先创建一定数量的对象,当需要使用时,不再创建新的对象,而是从池中获取已经存在的对象...
Redis 的Cluster集群搭建依赖的jar,优秀的开源对象池化组件apache-commons-pool2,它对对象池化操作进行了很好的封装,我们只需要根据自己的业务需求重写或实现部分接口即可,使用它可以快速的创建一个方便,简单,...
Apache Commons Pool2是一个Java对象池库,用于管理可重用对象。对象池是软件设计中的一个概念,它允许程序在需要时重复使用已创建的对象,而不是每次需要时都创建新的对象。这在处理资源密集型对象(如数据库连接或...
Apache Commons DBCP是Apache Commons项目的一部分,它提供了一个基于Apache Commons Pool的数据库连接池实现。数据库连接池是一种管理数据库连接的技术,通过复用已建立的数据库连接,减少创建和销毁连接的开销,...
Apache Commons Pool 2 是一个广泛使用的对象池库,它的最新版本是 2.5.0。对象池在软件设计中是一种优化资源管理的技术,通过复用已创建的对象,避免频繁的创建和销毁过程,从而提高性能。Apache Commons Pool 2 ...
Apache Commons Pool 是Apache软件基金会的一个开源项目,它提供了一种基于池化概念的通用对象池API。对象池化是一种设计模式,它允许程序预先创建一组对象并保持它们处于就绪状态,以便在需要时快速分配,而不是...
Apache Commons Pool2是一个Java对象池库,用于管理资源对象,如数据库连接或网络套接字。这个库的主要目的是提高性能和资源效率,通过重用已创建的对象而不是每次需要时都创建新的。在给定的场景中,`commons-pool2...
DBCP(Database Connection Pool)是Apache Jakarta项目中的一个子项目,它利用了commons-pool对象池机制来实现数据库连接的复用,从而减少创建和释放数据库连接时的开销。Tomcat,一个广泛使用的Java应用服务器,...
为了避免重新造轮子,我们可以使用优秀的开源对象池化组件apache-commons-pool2,它对对象池化操作进行了很好的封装,我们只需要根据自己的业务需求重写或实现部分接口即可,使用它可以快速的创建一个方便,简单,...
Apache Commons Pool 是一个广泛使用的开源组件,主要用于提供对象池化的实现。在Java世界里,对象池化是一种优化资源管理的重要技术,通过对象池可以减少频繁创建和销毁对象带来的性能开销,提升系统效率。这里我们...
Apache Commons Pool是Apache软件基金会的一个项目,提供了一个对象池化的实现。对象池化是一种优化资源管理的技术,通过预先创建并维护一组对象,避免频繁地创建和销毁对象带来的性能开销。在`commons-pool-1.3.jar...
标题中的"jedis-2.9.0+commons-pool2-2.4.2redis依赖包"指的是一款基于Java实现的Redis客户端库Jedis的2.9.0版本,与Apache Commons Pool 2.4.2版本相结合的依赖包。这个组合主要用于优化Redis连接池管理,提高应用...
Apache Commons Pool是一个高效的、基于接口的池化库,允许开发者为任何可池化的对象创建池。这个库的核心是`ObjectPool`接口,它定义了对象池的基本操作,如获取、归还对象以及池的统计信息。Apache Commons Pool...
Apache Commons Pool 是一个广泛使用的开源项目,提供了一种高效的对象池化服务。本篇将详细讲解Apache Commons Pool 1.5.5版本的核心特性、工作原理以及如何在实际开发中应用。 Apache Commons Pool 是Apache软件...
`commons-pool2-2.4.2.jar`是Apache Commons Pool 2的实现,这是一个对象池设计模式的库。对象池是用于管理资源,如数据库连接或线程,以提高性能和效率的机制。在Java中,当频繁创建和销毁对象时,这可能导致大量的...