18

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.

Ravi Bhojani
  • 1,032
  • 1
  • 13
  • 24

3 Answers3

19

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.

Gray
  • 115,027
  • 24
  • 293
  • 354
2

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

Abhishek
  • 422
  • 4
  • 13
1

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

Clem Wang
  • 689
  • 8
  • 14