How to create an object pool to be able to borrow and return objects

I wanted to know that, is it possible to create a pool of objects? So that I can take an object from the pool and once I'm done with the work, I can put it into the pool.

It is possible yes. You can see performance improvements in many situations if the construction of a new object is expensive (like establishing a database connection) or if for other reasons the GC bandwidth is too high (often a problem in Android-land).

Here are some resources that you could use to implement your pool. You may be able to use Apache's ObjectPool right out of the box.

  • Apache Commons ObjectPool
  • Does this basic Java object pool work?
  • Object Pool Design Pattern in Java
  • Google search: java object pool

Though its late but might be useful.

Following link provides sufficient information and implementation details for creating object pool using apache-commons-pool-2:

https://dzone.com/articles/creating-object-pool-java


As an alternative, if each object isn't that heavy weight, and/or you don't mind keeping the object around for each thread, consider ThreadLocal objects.

http://tutorials.jenkov.com/java-concurrency/threadlocal.html

Tags:

Java

Pool