java对象池化技术 精品资料

java对象池化技术 精品资料

ID:22684001

大小:74.30 KB

页数:38页

发布时间:2023-10-19 00:52:01

java对象池化技术  精品资料_第1页
java对象池化技术  精品资料_第2页
java对象池化技术  精品资料_第3页
java对象池化技术  精品资料_第4页
java对象池化技术  精品资料_第5页
java对象池化技术  精品资料_第6页
java对象池化技术  精品资料_第7页
java对象池化技术  精品资料_第8页
java对象池化技术  精品资料_第9页
java对象池化技术  精品资料_第10页
资源描述:

使用JakartaCommonsPool处理对象池化恰当地使用对象池化技术,可以有效地减少对象生成和初始化时的消耗,提高系统的运行效率。JakartaCommonsPool组件提供了一整套用于实现对象池化的框架,以及若干种各具特色的对象池实现,可以有效地减少处理对象池化时的工作量,为其它重要的工作留下更多的精力和时间。创建新的对象并初始化的操作,可能会消耗很多的时间。在这种对象的初始化工作包含了一些费时的操作(例如,从一台位于20,000千米以外的主机上读出一些数据)的时候,尤其是这样。在需要大量生成这样的对象的时候,就可能会对性能造成一些不可忽略的影|响。要缓解这个问题,除了选用更好的硬件和更棒的虚拟机以外,适当地采用一些能够减少对象创建次数的编码技巧,也是一种有效的对策。对象池化技术(ObjectPooling)就是这方面的著名技巧,而JakartaCommonsPool组件则是处理对象池化的得力外援。对象池化技术对象池化的基本思路是:将用过的对象保存起来,等下一次需要这种对象的时候,再拿出来重复使用,从而在一定程度上减少频繁创建对象所造成的开销。用于充当保存对象的“容器”的对象,被称为“对象池”(ObjectPool,或简称Pool)。对于没有状态的对象(例如String),在重复使用之前,无需|进行任何处理;对于有状态的对象(例如StringBuffer),在重复使用之前,就需要把它们恢复到等同于刚刚生成时的状态。由于条件的限制,恢复某个对象的状态的操作不可能实现了的话,就得把这个对象抛弃,改用新创建的实例了。并非所有对象都适合拿来池化――因为维护对象池也要造成一定开销。对生成时开销不大的对象进行池化,反而可能会出现“维护对象池的开销”大于“生成新对象的开销”,从而使性能降低的情况。但是对于生成时开销可观的对象,池化技术就是提高性能的有效策略了。JakartaCommonsPool组件JakartaCommonsPool是一个用于在Java程|序中实现对象池化的组件。它的基本情况是:·主要作者:MorganDelagrange、GeirMagnusson、CraigMcClanahan、RodneyWaldhoff、DavidWeinrich和DirkVerbeeck·最新版本:1.1·所含包数:2个(org.apache.commons.pool和org.apache.commons.pool.impl)·所含类数:21个(其中有4个抽象类和6个接口)·适用平台:Java2,StandardEdition.·单纯地使用Pool组件不需要太多的Java2的知识和经验,对语法和基本概念(对象、|异常、类、接口、实例、继承和实现等)有一般了解即可。下载和安装为了顺利的按照本文中提到的方法使用Pool组件,除去Java2SDK外,还需要先准备下列一些东西:

1·JakartaCommonsPoolo所需版本:1.0.1+o下载地址:http://jakarta.apache.org/commons/poolo作用:处理对象池化·JakartaCommonsCollectionso所需版本:2.1+o下载地址:http://jakarta.apache.org/commons/collectionso作用:支持JakartaCommonsPool的|运行以上两种软件均有已编译包和源代码包两种形式可供选择。一般情况下,使用已编译包即可。不过建议同时也下载源代码包,作为参考资料使用。如果打算使用源代码包自行编译,那么还需要准备以下一些东西:·Anto所需版本:1.5.3+o下载地址:http://ant.apache.orgo作用:运行编译用脚本·JUnito所需版本:3.8.1+o下载地址:http://www.junit.orgo作用:编译和运行单元测试具体的编译方法,可以参看有关的Ant文档。将解压或编译后得到的commons-pool.jar和commons-collections.jar放入|CLASSPATH,就可以开始使用Pool组件了。回页首PoolableObjectFactory、ObjectPool和ObjectPoolFactory在Pool组件中,对象池化的工作被划分给了三类对象:·PoolableObjectFactory用于管理被池化的对象的产生、激活、挂起、校验和销毁;·ObjectPool用于管理要被池化的对象的借出和归还,并通知PoolableObjectFactory完成相应的工作;·ObjectPoolFactory则用于大量生成相同类型和设置的ObjectPool。

2相应地,使用Pool组件的过程,也大体可|以划分成“创立PoolableObjectFactory”、“使用ObjectPool”和可选的“利用ObjectPoolFactory”三种动作。创立PoolableObjectFactoryPool组件利用PoolableObjectFactory来照看被池化的对象。ObjectPool的实例在需要处理被池化的对象的产生、激活、挂起、校验和销毁工作时,就会调用跟它关联在一起的PoolableObjectFactory实例的相应方法来操作。PoolableObjectFactory是在org.apache.commons.pool包中定义的一个接口。|实际使用的时候需要利用这个接口的一个具体实现。Pool组件本身没有包含任何一种PoolableObjectFactory实现,需要根据情况自行创立。创立PoolableObjectFactory的大体步骤是:1.创建一个实现了PoolableObjectFactory接口的类。importorg.apache.commons.pool.PoolableObjectFactory;publicclassPoolableObjectFactorySampleimplementsPoolableObjectFactory{private

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1、本文档共38页,下载后即可获取全部内容。
2、此文档《java对象池化技术 精品资料》由用户(158****5147)提供并上传付费之前 请先通过免费阅读内容等途径辨别内容,本站所有文档下载所得的收益全部归上传人(卖家)所有:如有侵权或不适当内容,请进行举报或申诉。
3、所有的PPT和DOC文档都被视为“模板”允许上传人保留音节日灵结构的情况下删减部份的内容,下裁前须认直查看,确认无误后再购买。
4、欧宝真人·(中国)科技有限公司网仅提供信息存储空间,仅对用户上传内容的表现方式做保护外理,无法对各卖家所售文档的直实性,完整性,准确性以及专业性等问题提供审核和保证,请谨慎购买。
5、本站文档的总页数,文档格式和文档大小以系统显示为准(内容中显示页数不一定正确),网站客服只以系统显示页数,文件格式,文档大小作为仲裁依据。

文档提供

发布者:158****5147

上传时间:2023-10-16 17:18:22

认证主体:齐**(个人认证)

IP归属:湖北省 武汉

相关标签

文档提供

发布者:158****5147

上传时间:2023-10-16 17:18:22

认证主体:齐**(个人认证)

IP归属:湖北省 武汉

相关标签