一、什么是连接池。
定义:创建和管理一个连接的缓冲池的技术。
二、为什么使用连接池。
如果不使用连接池,在程序获得数据库连接时需要不断地重复创建与销毁的操作。为了节省资源,创建连接池。在程序的构造方法被调用的时候,创建几个连接。在使用时,借出,使用完毕归还。其实这个很像cdn(参考京东的快递超市就是一个大的cdn网络。),在构造方法被调用的时候,就已经准备好了连接。在使用的时候,不用再创建了。
三、什么时候使用连接池,如何使用连接池。
遇到程序与数据库建立连接的时候,创建一个新的连接池对象,使用连接池的 getConnection()方法建立连接。在使用完毕时使用close()方法归还连接。
四、实现原理。
对原有的close()方法进行了增强。原有的java.sql.Connection 下的close()方法,将销毁连接。现在对其进行增强(变成了归还连接)。
附;增强一个类的方法。
1.采用继承的方式
2.装饰者模式
3.动态代理