lsj, 我也只是了解一个大概,简单的说,
先建立一定数量的对象,通过Manager类的getObjectInstance之类的方法将没有锁定的对
象提供给用户使用,并锁定这个对象直至用户调用Object.give_back再解锁该对象,对象
本身并不销毁,留在那里等待其它的请求,实现起来不难,关键是实现上的效率。
有基于时间的解锁方案 http://www.javaworld.com/jw-06-1998/jw-06-object-pool.html
有基于用户调用的解锁方案 http://users.ox.ac.uk/~univ0938/ Tom Anderson的实现
还有其它的实现模型 http://developer.netscape.com/viewsource/abney_pool/abney_pool.html
等等等等,池化一些昂贵资源是提高代码效率的主要手段,主要就是节省对象创建、销毁或者
连接所花的时间,典型应用是数据库连接,但是其它诸如Image、javax.crypto.Cipher、
JNDI DirContext、比较大的temp buffer都可以使用到。
在此俺想看看其它人的高见。