Hibernate三种连接池对比

1.C3P0

有评论说它的算法不是最优的,在同一项目中分别用了几个常用的Hibernate连接池配置,然后测试其性能,发现c3p0占用资源比较大,效率也不高;

2.DBCP

由于在Hibernate3.0中,已经不再支持dbcp了,Hibernate的作者在hibernate.org中,明确指出在实践中发现dbcp有 BUG,在某些种情会产生很多空连接不能释放,所以抛弃了对dbcp的支持,所有慎重使用

3.Proxool

proxool不少行家推荐使用,而且暂时来说,是负面评价是最少的一个

原文地址:https://www.cnblogs.com/bobofei/p/9991357.html

时间: 2024-10-07 16:50:36

Hibernate三种连接池对比的相关文章

SpringBoot2 集成三种连接池 c3p0 hikari druid

Hikari 1.首先集成 hikari springboot默认集成,只需要简单的配置即可 1.1 首先导入包 <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId&

Spring整合HIbernate时,三种数据库连接池的配置和比较

现在常用的开源数据库连接池主要有c3p0.dbcp.proxool三种,其中: Spring                         推荐使用dbcp: Hibernate                  推荐使用c3p0和proxool: 1.  DBCP:Apache DBCP(DataBase connection pool)数据库连接池.是Apache上的一个 java连接池项目,也是 tomcat使用的连接池组件.单独使用dbcp需要3个包:common-dbcp.jar,c

21Spring_JdbcTemplatem模板工具类的使用——配置文件(连接三种数据库连接池)

上一篇文章提到过DriverManagerDataSource只是Spring内置的数据库连接池,我们可选的方案还有c3p0数据库连接池以及DBCP数据库连接池. 所以这篇文章讲一下上面三种数据库连接池的配置文件的形式. 第一种:DriverManagerDataSource:Spring内置的数据库连接池. 第一步:编写配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="

Sort merge join、Nested loops、Hash join(三种连接类型)

目前为止,典型的连接类型有3种: Sort merge join(SMJ排序-合并连接): 首先生产driving table需要的数据,然后对这些数据按照连接操作关联列进行排序:然后生产probed table需要的数据,然后对这些数据按照与driving table对应的连接操作列进行排序:最后两边已经排序的行被放在一起执行合并操作.排序是一个费时.费资源的操作,特别对于大表.所以smj通常不是一个特别有效的连接方法,但是如果driving table和probed table都已经预先排序

简单理解Hibernate三种状态的概念及互相转化

本文描述了Hibernate三种状态的概念及互相转化.Java对象的生命周期中有三种状态,而且互相转化.它们分别是临时状态,持久化状态,以及游离状态. AD:WOT2015 互联网运维与开发者大会 热销抢票 在Hibernate中有三种状态,对它的深入理解,才能更好的理解hibernate的运行机理,刚开始不太注意这些概念,后来发现它是重要的.对于理解hibernate,JVM和sql的关系有更好的理解.对于需要持久化的JAVA对象,在它的生命周期中有三种状态,而且互相转化. Hibernate

java创建线程的三种方式及其对比

Java中创建线程主要有三种方式: 一.继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务.因此把run()方法称为执行体. (2)创建Thread子类的实例,即创建了线程对象. (3)调用线程对象的start()方法来启动该线程. package com.thread; public class FirstThreadTest extends Thread{ int i = 0; //重写run方法,run方法的方

Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用 ----转----

Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用 Hibernate的对象有3种状态,分别为:瞬时态(Transient). 持久态(Persistent).脱管态(Detached).处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object). 瞬时态         由new命令开辟内存空间的java对象, eg. Person person = new Person(

Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用

Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用 Hibernate的对象有3种状态,分别为:瞬时态(Transient). 持久态(Persistent).脱管态(Detached).处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object). 瞬时态         由new命令开辟内存空间的java对象, eg. Person person = new Person(

VMware Workstation之虚拟网络的三种连接模式浅析

刚开始接触VMware Workstation做实验时常常为选择哪种网络连接模式而苦恼. 有时候老师说选择NAT,有时候建议桥接,还有时会要求仅主机. 唉,真是老师说什么就是什么. 既然不懂那就乖乖跟着老师屁股后面,老师怎么要求我们就怎么做,一点自己发挥的余地都不能有. 机械的跟着老师做了这么多实验,吃了这么多的苦楚,大家有没有想过,我们搭建实验环境为什么要选择不同的网络连接模式,为什么我们实验的其他部署都对了,但就是因为忽略了连接模式这个小差错而导致各种报错,为什么老师一直说实验前的ping通