DBCP与C3P0的核心区别,以及Proxool和BoneCP连接池介绍

因为在开发中,更常见的DBCP和C3P0,那么这里主要介绍一下这两者的区别:

区别一:

DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。

区别二:

DBCP没有自动的去回收空闲连接的功能,C3P0有自动回收空闲连接功能

区别三:

DBCP连接池的持续运行的稳定性还是可以,不过速度稍慢,在大并发量的压力下稳定性有所下降

C3P0连接池的持续运行的稳定性相当不错,在大并发量的压力下稳定性也有一定保证

总结:DBCP有着比C3P0更高的效率,但是实际应用中,DBCP可能出现丢失 连接的可能,而C3P0稳定性较高。因此在实际应用中,C3P0使用较为广泛。
DBCP与C3P0的核心区别,以及Proxool和BoneCP连接池介绍_第1张图片
DBCP与C3P0的核心区别,以及Proxool和BoneCP连接池介绍_第2张图片DBCP与C3P0的核心区别,以及Proxool和BoneCP连接池介绍_第3张图片DBCP与C3P0的核心区别,以及Proxool和BoneCP连接池介绍_第4张图片DBCP与C3P0的核心区别,以及Proxool和BoneCP连接池介绍_第5张图片DBCP与C3P0的核心区别,以及Proxool和BoneCP连接池介绍_第6张图片

你可能感兴趣的:(DBCP与C3P0的核心区别,以及Proxool和BoneCP连接池介绍)