连接池是什么 是JDBC ?

如题所述

数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。
在Java中开源的数据库连接池有以下几种 :
1, C3P0 C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。
2,Proxool 这是一个Java SQL Driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装。可以非常简单的移植到现存的代码中。完全可配置。快速,成熟,健壮。可以透明地为你现存的JDBC驱动程序增加连接池功能。
3,Jakarta DBCP DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序用使用。
4,DDConnectionBroker DDConnectionBroker是一个简单,轻量级的数据库连接池。
5,DBPool DBPool是一个高效的易配置的数据库连接池。它除了支持连接池应有的功能之外,还包括了一个对象池使你能够开发一个满足自已需求的数据库连接池。
6,XAPool XAPool是一个XA数据库连接池。它实现了javax.sql.XADataSource并提供了连接池工具。
7,Primrose Primrose是一个Java开发的数据库连接池。当前支持的容器包括Tomcat4&5,Resin3与JBoss3.它同样也有一个独立的版本可以在应用程序中使用而不必运行在容器中。Primrose通过一个web接口来控制SQL处理的追踪,配置,动态池管理。在重负荷的情况下可进行连接请求队列处理。
8,SmartPool SmartPool是一个连接池组件,它模仿应用服务器对象池的特性。SmartPool能够解决一些临界问题如连接泄漏(connection leaks),连接阻塞,打开的JDBC对象如Statements,PreparedStatements等. SmartPool的特性包括支持多个pools,自动关闭相关联的JDBC对象, 在所设定time-outs之后察觉连接泄漏,追踪连接使用情况, 强制启用最近最少用到的连接,把SmartPool"包装"成现存的一个pool等。
9,MiniConnectionPoolManager MiniConnectionPoolManager是一个轻量级JDBC数据库连接池。它只需要Java1.5(或更高)并且没有依赖第三方包。
10,BoneCP BoneCP是一个快速,开源的数据库连接池。帮你管理数据连接让你的应用程序能更快速地访问数据库。比C3P0/DBCP连接池快25倍。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-24
头的两项和三项,都是用于连接数据库的,java的数据库连接方式有4种,最常用的是JDBC.
oracle.jdbc.driver.OracleDriver是专门为特定的数据库编写的驱动类。jdbc提供了一个统一的接口,各个数据库提供商针对jdbc的标准写自己的数据库驱动。

因为每次请求数据库都需要耗费时间进行连接,好比每次都要拔插头、插插头,非常耗费时间,因此把特定的连接放在一个容器里进行管理,连接池里的设置就有连接数量这一项,除了这个还有最大连接时间,超过这个时间,连接池就会断开数据库连接回滚操作。

所以连接池就是用于管理多个连接,软件开发的时候只需要向连接池提交请求就好了。

JDBC与连接池有什么区别? JDBC能连接Oracle数据库吗?
JDBC是JAVA连接数据库的方式,连接池只是用来存放连接的,JDBC中自带连接池,可以用来连oracle

数据库连接池与JDBC的区别
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。2、原理不同:与...

数据库连接池的作用是什么
连接池是被j2ee服务器打开和维护的对应1、2、4的JDBC驱动程序。连接池一般比直接连接更有优越性,因为它提高了性能的同时还保存了宝贵的资源。打开数据库连接时CPU和网络的重要任务,因此,在整个应用程序的使用过程当中,重复的打开直接连接将导致性能的下降。 而池连接只在服务器启动时打开一次,从而消除...

jdbc到底是什么?
答案:JDBC是Java数据库连接的缩写,是一种用于执行SQL语句并管理Java应用程序与数据库之间连接的Java API。它提供了一种通用的方式,使得Java应用程序可以与多种关系数据库进行交互。详细解释:1. 基本定义:JDBC是Java编程语言中用于数据库操作的核心组件之一。它提供了一种标准的API,使得Java程序能够方便...

什么是jdbc
JDBC是Java语言的标准数据库连接技术。它是Java语言中用来处理数据库任务的核心模块之一,提供了Java应用程序与数据库之间的连接桥梁。通过JDBC,Java开发者可以方便地与各种关系数据库进行交互,执行SQL查询和更新数据库。JDBC是一个标准的API接口规范,包含了处理数据库的完整功能,比如连接数据库、执行SQL...

JDBC简介
JDBC的工作原理是,当应用程序调用API时,请求会被传递给JDBC驱动,驱动再与数据库进行交互,包括连接、执行SQL、管理事务等,实现了“一次编写,到处运行”的理念,使程序对数据库的选择变得灵活。然而,频繁创建和关闭数据库连接在高并发场景下会带来性能问题,因此数据库连接池技术应运而生。它预先创建并...

JDBC简介
JDBC API的目标是实现“一次编写,到处运行”,使用相同的API访问不同数据库服务,编写不依赖于具体数据库的Java程序。更高的数据访问框架以此为基础构建。访问量大的应用频繁创建和关闭数据库连接会影响性能,可能导致内存泄漏,服务器崩溃。为解决此问题,使用数据库连接池技术,预先放入一定数量的连接,当...

jdbc和dbcp有啥区别?
JDBC:Java世界的数据库接口 JDBC(Java Database Connectivity)是Java官方提供的数据库连接API,它为Java程序提供了与各种数据库进行交互的统一接口。通过JDBC,你可以执行SQL语句,如创建连接(String url = "jdbc:mysql:\/\/localhost:3306\/mydb"; Connection dbConn = DriverManager.getConnection(url, "...

3w字教程:JDBC从零到熟练掌握Druid的使用
2. JDBC入门开发流程包括编写Java代码、发送SQL到数据库、执行SQL和获取结果。通过DriverManager获取连接,Statement或PreparedStatement执行SQL语句,进行事务管理。3. JDBC高级应用3.3 PreparedStatement是关键,它通过参数化查询防止SQL注入,提升了安全性。通过Druid连接池,能有效管理数据库连接,提高性能。4. ...

tomcat jndi与JDBC的区别
一个是连接池,一个是直连。连接池效率高,支持多线程,可以缓存数据。直连就没有这些优势

相似回答