问题:你是否经常用连接池?请说明其含义、作用和工作过程?
回答:
连接池的核心思想是连接的复用。通过建立一个连接池,可以避免数据库连接对象频繁简历和销毁所带来的性能开销。连接池在刚创建时,会一次性的生成多个连接,放置在连接池当中,当应用程序需要访问数据库时,就会从连接池当中取得连接对象,而不是新生成连接对象,应用程序对数据库的访问结束时,再将连接对象返还到连接池当中,而不是将连接对象销毁。如果应用程序的并发量大,需要使用的链接对象超过了连接池刚创建时的对象个数,这时就会创建新的连接对象。但是连接池通常都会配置最大连接数,当创建的连接总数超过了达到最大连接数时,就不会再创建新的连接对象了。如果连接池当中的数量大于初始创建的连接数,并且有空闲的连接,那么这些空闲连接在闲置一段时间之后就会被销毁。初始创建的连接数量,最大连接数和连接空闲的时间都可以通过配置文件来指定。在hibernate和Spring当中都可以配置连接池,我最常用的连接池是DBCP和C3P0。