池化技术初探与ApachePool代码分析.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
池化技术初探与 Apache Pool 代码分析 1 池化技术简介 池化技术就是把一些经常使用的,创建起来又比较费时间的对象事先创建好 放在内存中,这样在用的时候就可以直接从中取出以提高程序执行效率的策略, 同时使用完比的对象还可以归还到池中,减少了一部分创建对象的时间。但是这 种方式会带来一定的内存开销,尤其是对于那些生成时开销不大的对象,使用池 化技术反而会是性能降低。因此就需要从程序的相应时间和内存空间的消耗上找 到一个最佳契合点。 对于没有状态的对象(例如 String ),在重复使用之前,无需进行任何处理; 对于有状态的对象(例如 StringBuffer ),在重复使用之前,就需要把它们恢复到 等同于刚刚生成时的状态。由于条件的限制,恢复某个对象的状态的操作不可能 实现了的话,就得把这个对象抛弃,改用新创建的实例了。 由于在同一时刻可能会有很多个线程同时向池请求对象,因此在池化技术实 现的时候要时刻考虑多线程的问题。关于多线程技术在池化技术中的应用,请参 考《多线程技术在池化技术的应用》一文。 2 Apache comman pool 代码研究 Apache comman pool (以下简称“Pool 组件”)是一个用于在java 程序中实现对 象池化的组件,它只包含两个包,涉及到的类较少,类之间的关系也相对简单。 要想使用 Pool 组件,需要获取相关 jar 文件并将其放入 CLASSPATH 即可。为了研 究 其 内 部 实 现 , 我 们 可 以 下 载 其 源 代 码 , 这 些 东 西 都 可 以 从 /pool/download_pool.cgi 下载,也可以从本篇文章的附 件中获得。 2.1 Pool 组件的两个包 Pool 组件包含两个包:mons.pool 和mons.pool.imp 。 包 mons.pool 为对象池定义了一个简单的接口,和一些在实现对 象池时可能会用到的类。这个包并没有实现对象池,但是却规定了为了有更好的 移植性而必须要遵循的规范。而包 mons.pool.imp 则提供了几种 对象池的实现。 2.2 mons.pool 包详解 改包中所包含的所有类如下表所示: 所有接口 KeyedObjectPool A keyed pooling interface. KeyedObjectPoolFactory A factory for creating KeyedObjectPools. An interface defining life-cycle methods for instances KeyedPoolableObjectFactory to be served by a KeyedObjectPool. ObjectPool A pooling interface. ObjectPoolFactory A factory interface for creating ObjectPools. An interface defining life-cycle methods for instances PoolableObjectFactory to be served by an ObjectPool. 所有类 A simple base implementation BaseKeyedObjectPool of KeyedObjectPool. A base implementation BaseKeyedPoolableObjectFactory of KeyedPoolableObjectFactory. BaseObjectPool

文档评论(0)

156****5991 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档