最近在研究对象池,有几个问题一直没弄明白,希望大家给我提点.
在用Apache 的pool包时..
poolobject对象每次我都用的new .也就是说,现在web中,我想用个对象池保存所有用户的信息,
但是poolobject对象我每次都是new的新的,也就是说每次都是开的新的对象池.拿到新的对象.
这样启不是等于没有用到对象池了吗...还有..对象池和缓存 有什么区别..麻烦知道的具体跟我说下.

解决方案 »

  1.   

    当然要new 新的连接对象了,但是到了最大连接数就不会再new 新对象了。
      

  2.   

    我的意思是,每次我都是new 的poolobject对象,也就是新的池对象..(池对象中有一个集合,用来做 我的对象的 "池"),
    既然我每次拿到的都是新的池,就是说,池都是新的了,池里面的东西也就是新的.这样就根本无法拿到原本理想中的回收(return object)的对象了.
    每次都开的新的池,那对象池还有什么意义呢..
      

  3.   


    lz的这个需求好像和pool这个api要解决的问题不太匹配。pool api我觉的解决的是一个“缓存无状态类实例”的方案。
    lz要缓存的是所谓“有用户信息”的对象。
    (其实我也有点拿不准,lz自己看看下面这个例子吧也
    http://commons.apache.org/pool/examples.html
    )所以还是开一个内存,比如用Map/List之类的东西存就可以了。
    选一个访问快的就行了,比如TreeMap/ArrayList之类的实现。或者找找其他Cache相关的apigood luck
      

  4.   

    缓存无状态类实例 ,这个是对的.我的意思现在关键不是我的user对象是否有状态,而是每次我都是new 的新的poolobject对象,也就是新的池对象,那么整个application中如何拿到原来就存在的对象呢
      

  5.   

    还有,麻烦大虾说下.cache跟对象池有联系吗,有区别吗....实现上熟悉的话麻烦大家稍微说下.