⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index.html

📁 优秀的文档,可以学习java之用 0006728337 00000 n 0006728424 00000 n 0006728600 00000 n
💻 HTML
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Overview - Commons Pool</title><style type="text/css" media="all">          @import url("./style/maven-base.css");                    @import url("./style/maven-theme.css");@import url("./style/project.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><meta name="author" content="Commons Documentation Team"></meta><meta name="email" content="commons-dev@jakarta.apache.org"></meta><meta name="author" content="Rodney Waldhoff"></meta><meta name="email" content="rwaldhoff@apache.org"></meta><meta name="author" content="Sandy McArthur"></meta><meta name="email" content="sandymac@apache.org"></meta></head><body class="composite"><div id="banner"><a href="http://jakarta.apache.org" id="organizationLogo"><img alt="The Apache Software Foundation" src="http://jakarta.apache.org/images/original-jakarta-logo.gif"></img></a><a href="http://jakarta.apache.org/commons/pool/" id="projectLogo"><img alt="Commons Pool" src="./images/pool-logo-white.png"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">Last published: 02 April 2006                <span class="separator">|</span>燚oc for  1.3                </div><div class="xright">                <a href="http://jakarta.apache.org/commons/" class="externalLink" title="External Link">Jakarta Commons</a>      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuCommons燩ool"><h5>Commons燩ool</h5><ul><li class="none"><strong><a href="index.html">Overview</a></strong></li><li class="none"><a href="apidocs/index.html">Javadoc</a></li><li class="collapsed"><a href="guide/index.html">Developers燝uide</a></li><li class="none"><a href="examples.html">Examples</a></li><li class="none"><a href="downloads.html">Downloads</a></li><li class="none"><a href="http://wiki.apache.org/jakarta-commons/Pool" class="externalLink" title="External Link">Wiki</a></li></ul></div><div id="menuProject_Documentation"><h5>Project Documentation</h5><ul><li class="none"><strong><a href="index.html">About</a></strong></li><li class="collapsed"><a href="project-info.html">Project Info</a></li><li class="collapsed"><a href="maven-reports.html">Project Reports</a></li><li class="none"><a href="http://jakarta.apache.org/commons/charter.html" class="externalLink" title="External Link">Development Process</a></li></ul></div><div id="menuCommons"><h5>Commons</h5><ul><li class="none"><a href="http://jakarta.apache.org/commons/" class="externalLink" title="External Link">Home</a></li><li class="collapsed"><a href="http://jakarta.apache.org/commons/components.html" class="externalLink" title="External Link">Components</a></li><li class="collapsed"><a href="http://jakarta.apache.org/commons/sandbox/index.html" class="externalLink" title="External Link">Sandbox</a></li><li class="collapsed"><a href="http://jakarta.apache.org/commons/dormant/index.html" class="externalLink" title="External Link">Dormant</a></li><li class="none"><a href="http://jakarta.apache.org/commons/volunteering.html" class="externalLink" title="External Link">Volunteering</a></li><li class="none"><a href="http://jakarta.apache.org/commons/patches.html" class="externalLink" title="External Link">Contributing Patches</a></li><li class="none"><a href="http://jakarta.apache.org/commons/building.html" class="externalLink" title="External Link">Building Components</a></li><li class="none"><a href="http://jakarta.apache.org/commons/releases/index.html" class="externalLink" title="External Link">Releasing Components</a></li><li class="none"><a href="http://wiki.apache.org/jakarta-commons/FrontPage" class="externalLink" title="External Link">Wiki</a></li></ul></div><div id="legend"><h5>Legend</h5><ul><li class="externalLink">External Link</li><li class="newWindow">Opens in a new window</li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="./images/logos/maven-feather.png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="The_Pool_Component"></a><h2>The Pool Component</h2>         <p>          Pool provides an Object-pooling API, with three major aspects:          <ol>           <li>            A generic object pool interface that clients and implementors can use to provide easily             interchangable pooling implementations.           </li>           <li>            A toolkit for creating modular object pools.           </li>           <li>            Several general purpose pool implementations.           </li>          </ol>         </p>      </div><div class="section"><a name="Releases"></a><h2>Releases</h2>         <p>            See the <a href="downloads.html">downloads</a> page for information on obtaining releases.            The <a href="release-notes-1.3.html">commons pool 1.3 release</a> is the most recent stable release.          </p>      </div><div class="section"><a name="Features"></a><h2>Features</h2>        <p>            The             <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/package-summary.html" class="externalLink" title="External Link">org.apache.commons.pool</a>             package defines a handful of pooling interfaces and some base classes             that may be useful when creating new pool implementations.        </p>        <div class="subsection"><a name="ObjectPool"></a><h3>ObjectPool</h3>          <p>             <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/ObjectPool.html" class="externalLink" title="External Link"><code>ObjectPool</code></a>             defines a trivially simple pooling interface:          </p>    <div class="source"><pre>public interface ObjectPool {    Object borrowObject();    void returnObject(Object borrowed);}</pre></div>                       <p>            Some client classes won't integrate with <i>Pool</i> any more than this.            Clients written to this interface can use arbitrary <code>ObjectPool</code>             implementations interchangeably.           </p>                     <p>             <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/BaseObjectPool.html" class="externalLink" title="External Link"><code>BaseObjectPool</code></a>             provides an abstract base implementation of <code>ObjectPool</code>. Clients are             encouraged but not required to extend <code>BaseObjectPool</code> for new              <code>ObjectPool</code> implementations.          </p>          <p>             <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/KeyedObjectPool.html" class="externalLink" title="External Link"><code>KeyedObjectPool</code></a>             defines a similiar interface for pools composed of heterogenous objects:          </p>    <div class="source"><pre>public interface KeyedObjectPool {    Object borrowObject(Object key);    void returnObject(Object key, Object borrowed);}</pre></div>                     </div>        <div class="subsection"><a name="PoolableObjectFactory"></a><h3>PoolableObjectFactory</h3>          <p>             The <i>Pool</i> package makes it possible separate the way in which instances             are pooled from the way in which instances are created and destroyed.              <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/PoolableObjectFactory.html" class="externalLink" title="External Link"><code>PoolableObjectFactory</code></a>             supports this by providing a generic inteface for the lifecycle of a pooled object:          </p>    <div class="source"><pre>public interface PoolableObjectFactory {    Object makeObject();    void activateObject(Object obj);    void passivateObject(Object obj);    boolean validateObject(Object obj);    void destroyObject(Object obj);}</pre></div>                       <p>             <code>ObjectPool</code> implementations may be written to accept arbitrary             <code>PoolableObjectFactory</code>s.             This makes is possible for clients to select pooling-behavior distinct              from the kinds of objects that are pooled.            </p>                     <p>             <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/BasePoolableObjectFactory.html" class="externalLink" title="External Link"><code>BasePoolableObjectFactory</code></a>             provides an abstract base implementation of <code>PoolableObjectFactory</code> that             makes implementations a snap.          </p>          <p>             <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/KeyedPoolableObjectFactory.html" class="externalLink" title="External Link"><code>KeyedPoolableObjectFactory</code></a>             defines a similiar interface for <code>KeyedObjectPool</code>s:          </p>    <div class="source"><pre>public interface KeyedPoolableObjectFactory {    Object makeObject(Object key);    void activateObject(Object key, Object obj);    void passivateObject(Object key, Object obj);    boolean validateObject(Object key, Object obj);    void destroyObject(Object key, Object obj);}</pre></div>                       <p>             <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/BaseKeyedPoolableObjectFactory.html" class="externalLink" title="External Link"><code>BaseKeyedPoolableObjectFactory</code></a>             provides an abstract base implementation of <code>KeyedPoolableObjectFactory</code> that             makes implementations a snap.          </p>        </div>        <p>            The             <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/impl/package-summary.html" class="externalLink" title="External Link">org.apache.commons.pool.impl</a>             package provides some <i>Pool</i> implementations.        </p>        <div class="subsection"><a name="StackObjectPool"></a><h3>StackObjectPool</h3>          <p>             <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/impl/StackObjectPool.html" class="externalLink" title="External Link"><code>StackObjectPool</code></a>             will pool a finite number of "idle" instances, but will create new instances a needed in              order to support high demand.          </p>          <p>             <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/impl/StackKeyedObjectPool.html" class="externalLink" title="External Link"><code>StackKeyedObjectPool</code></a>             offers the same behavior for keyed pools.          </p>        </div>        <div class="subsection"><a name="GenericObjectPool"></a><h3>GenericObjectPool</h3>          <p>             <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/impl/GenericObjectPool.html" class="externalLink" title="External Link"><code>GenericObjectPool</code></a>             provides a wide variety of configuration options, including the ablity to cap the number of idle or             active instances, to evict instances as they sit idle in the pool, etc.          </p>          <p>             <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/impl/GenericKeyedObjectPool.html" class="externalLink" title="External Link"><code>GenericKeyedObjectPool</code></a>             offers the same behavior for keyed pools.          </p>        </div>        <div class="subsection"><a name="SoftReferenceObjectPool"></a><h3>SoftReferenceObjectPool</h3>          <p>             <a href="http://jakarta.apache.org/commons/pool/apidocs/org/apache/commons/pool/impl/SoftReferenceObjectPool.html" class="externalLink" title="External Link"><code>SoftReferenceObjectPool</code></a>             can grow as needed, but allows the garbage collector to evict idle instances from the pool as needed.           </p>        </div>      </div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -