A group of objects is called as a pool of objects. Object pooling technique is used mainly to deal with the objects that are expensive to create.An application using object pooling technique follows the steps given below. 1).An application creates n'number of objects and places these objects in the pool(assume n=10). 2).If the application has to use an object it picks up the objects from the pool, uses the objects and returns the objects to the pool(the objects return to the pool can be reused) 3).At any point of time, if the number of objects are available is not enough the application can add few more objects to the pool.This is called as expanding the pool. If there are more objects in the pool(100)but most of the time a maximum upto 15 objects are used than the application can be removed upto 90 objects from the pool. This is called as SHRINKING the pool. DriverManager.getConnection method establishes the connection with the server and creates a connection object. This operation is expensive(takes more amount of time). When the connection is created using DriverManager.getConnection calling con.close() closes the connection. As the creation of connection object is a expensive it is recommanded to use connection pooling technique. The J2EE servers like weblogic,JBoss,websphere etc manages the connection pool as their own.