目录
1.缓冲区
1.概念
缓冲区作为内存的一部分,是在内存空间中预留了一定的存储空间,这部分空间可以来缓冲输入或者输出数据,并且缓冲区的这一部分存储空间也是有一定大小的。
2.作用
如果存在高速设备与低速设备的差异,在高速设备完成数据处理的任务时,就要等待低速设备的速度,不然任务的进度就会出现混乱。如果有了缓冲区,那么高速设备就可以将先处理完的数据存入缓冲区,高速设备就不用再等待,这样就可以充分发挥计算机的效率。
连接池就与缓冲区的的作用类似。
2.连接池
1.概念
当系统运行起来之后,这个连接池就被创建,在这个连接池当中,会申请一些对象,当有用户来访问数据库的时候,就从这个连接池当中获取连接对象,用户访问结束之后,连接池对象会归还给容器
2.作用
因为建立数据库连接是一个非常耗时、耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去,极大的提高了数据库连接的性能问题,节省了资源和时间。
3.常见的开源连接池
CP30、Proxool、Jakarta DBCP、DDConnectionBroker、DBPool、XAPool、Primrose、SmartPool
1.C3P0
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范 和JDBC2的标准扩展
c3p0所需jar:c3p0-0.9.2.1.jar mchange-commons-java-0.2.3.4.jar
2.DBCP
DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接 池项目,也是 tomcat 使用的连接池组件。
3.Proxool
Proxool是一种Java数据库连接池技术。最为关键的是这个连接池提供监控的功能,方便易用,便于发现连接泄漏的情况。
4.BoneCP
速度快。
5.Druid
是阿里提供的数据库连接池,据说是集DBCP 、C3P0 、Proxool优点于一身的数据库连接池.