最近在研究对象池,有几个问题一直没弄明白,希望大家给我提点.
在用Apache 的pool包时..
poolobject对象每次我都用的new .也就是说,现在web中,我想用个对象池保存所有用户的信息,
但是poolobject对象我每次都是new的新的,也就是说每次都是开的新的对象池.拿到新的对象.
这样启不是等于没有用到对象池了吗...还有..对象池和缓存 有什么区别..麻烦知道的具体跟我说下.
在用Apache 的pool包时..
poolobject对象每次我都用的new .也就是说,现在web中,我想用个对象池保存所有用户的信息,
但是poolobject对象我每次都是new的新的,也就是说每次都是开的新的对象池.拿到新的对象.
这样启不是等于没有用到对象池了吗...还有..对象池和缓存 有什么区别..麻烦知道的具体跟我说下.
既然我每次拿到的都是新的池,就是说,池都是新的了,池里面的东西也就是新的.这样就根本无法拿到原本理想中的回收(return object)的对象了.
每次都开的新的池,那对象池还有什么意义呢..
lz的这个需求好像和pool这个api要解决的问题不太匹配。pool api我觉的解决的是一个“缓存无状态类实例”的方案。
lz要缓存的是所谓“有用户信息”的对象。
(其实我也有点拿不准,lz自己看看下面这个例子吧也
http://commons.apache.org/pool/examples.html
)所以还是开一个内存,比如用Map/List之类的东西存就可以了。
选一个访问快的就行了,比如TreeMap/ArrayList之类的实现。或者找找其他Cache相关的apigood luck