数据库连接池的工作原理:
连接池:就是一个存放连接的池子,或者叫容器,只不过这个池子被分为2个部分:活跃区,空闲区
比如:配置初始化连接条数为5,当连接不够重新获取条数为15,最大连接数为50
连接池创建的时候,会根据配置信息,使用JDBC技术初始化 5 根连接,存放在连接池的"活跃区"中。当应用程序需要访问数据库时,连接池将从活跃区中获取1根连接给应用程序,用于访问数据库,当该连接完成了SQL执行之后,不需要销毁而是直接重新回到连接池中。从而做到连接资源的复用。
当应用程序将"活跃区"中的5根连接都使用完毕之后,将按照配置信息重新再获取15根连接到"活跃区"中,以供应用程序使用,当然还是有出去的,就有回来的。只不过回来的时候,需要判断"活跃区"中的连接是否已达到最初的状态,如果超过了,连接将回到"空闲区"去,以供应用程序优先下次访问(注意:空闲区中的连接,一旦使用完毕,将直接销毁,不会再回到连接池中) 当重新获取新的连接之后,如果还是不够,就一直获取新的连接,直到达到最大连接数 50 ,当业务量逐渐上升的时候,连接池可以采用上述的方式不断的获取新的连接,当业务量逐渐下降时,也可以不断的销毁旧的连接 -->