Q)What is the limitation of DriverManager? =>DriverManager is a connection factory. I.e. it provides database connections to Java components. =>DriverManager has the following limitations. 1)performance compromise in providing the database connection. 2)connections are not reusable and there by not cost-effective. 3)Connection acquring code is not secure. 4)Doesn't support distributed transactions. Note:- In realtime Java projects, javax.sql.DataSource is used as connection factory. It addresses all the limitations of DriverManager. Q)What is a connection pool? =>A group of (collection of) pre-created database connections kept in cache for use and reuse is nothing but a connection pool. Q)What is connection pooling? =>The mechanism of creating the connection pool and providing pooled connections to application components is nothing but connection pooling. DIAGRAM Once the Container(Tomcat/Weblogic/Web Sphere/JBoss) administrator configures the connection pool, Connection pool is created. =>Object Oriented representation of connection pool is nothing but javax.sql.DataSource object. DataSource object is registered with naming service with some name that runs within the server. =>Java component that needs a pooled connection should perform the following things. 1)Connect to the naming service. InitialContext ic=new InitialContext(); Perform lookup for DataSource object. DataSource ds=(DataSource)ic.lookup("myds"); 2) Connection connection=ds.getConnection();