Java自己动手写连接池三

时间:2022-09-04 15:26:20

Java自己动手写连接池三,核心代码;

package com.kama.cn;

import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;

public class ConnectionPool {

//数据库连接
private static ConnectionPool connectionPool=new ConnectionPool();

public List<Connection> poolList = new ArrayList<Connection>();
// 初始连接池大小
public int init_size = 10;
// 最大连接池大小
public int max_size = 30;

private ConnectionPool() {
/**
* 初始数据库连接池
*/
initdb();
}

public void initdb() {
for (int i = 0; i < init_size; i++) {
poolList.add(DBConfigUtil.getConn());
}
}

public Connection getConnection() {
Connection conn = null;

if (poolList.size() <= 0) {
poolList.add(DBConfigUtil.getConn());
}
conn = poolList.get(0);

poolList.remove(conn);

return conn;
}

/**
* 释放当前连接
*
* @param currentConn
*/
public void realseConnection(Connection currentConn) {
if (!poolList.contains(currentConn)) {
poolList.add(currentConn);
}
}

public static ConnectionPool getInstance()
{
if(connectionPool==null)
{
connectionPool=new ConnectionPool();
}
return connectionPool;
}

/**
* 连接池大小
* @return
*/
public int poolSize()
{
return poolList.size();
}
}

Java自己动手写连接池三的更多相关文章

  1. Java自己动手写连接池四

    Java自己动手写连接池四 测试: package com.kama.cn; import java.sql.Connection; public class Test { public static ...

  2. Java自己动手写连接池一

    自己动手写连接池,废话不多说,直接上代码,读取配置文件 package com.kama.cn; import java.io.IOException;import java.io.InputStre ...

  3. Java自己动手写连接池二

    读取数据库文件,来操作: package com.kama.cn; import java.sql.Connection;import java.sql.DriverManager;import ja ...

  4. JDBC连接池&lpar;三&rpar;DBCP连接池

    JDBC连接池(三)DBCP连接池 在前面的随笔中提到 了  1.JDBC自定义连接池  2. C3P0连接池 今天将介绍DBCP连接池 第一步要导入jar包   (注意:mysql和mysql 驱动 ...

  5. Go组件学习——手写连接池并没有那么简单

    1.背景 前段时间在看gorm,发现gorm是复用database/sql的连接池. 于是翻了下database/sql的数据库连接池的代码实现,看完代码,好像也不是很复杂,但是总觉得理解不够深刻,于 ...

  6. java操作mongodb(连接池)(转)

    原文链接: java操作mongodb(连接池) Mongo的实例其实就是一个数据库连接池,这个连接池里默认有10个链接.我们没有必要重新实现这个链接池,但是我们可以更改这个连接池的配置.因为Mong ...

  7. Java操作数据库——使用连接池连接数据库

    Java操作数据库——使用连接池连接数据库 摘要:本文主要学习了如何使用JDBC连接池连接数据库. 传统方式和连接池方式 传统方式的步骤 使用传统方式在Java中使用JDBC连接数据库,完成一次数据库 ...

  8. java的几种连接池

    连接池的管理用了了享元模式,这里对连接池进行简单设计. 一.设计思路 1.连接池配置属性DBbean:里面存放可以配置的一些属性 2.连接池接口IConnectionPool:里面定义一些基本的获取连 ...

  9. 自己动手写了第三阶段的处理器——教学OpenMIPS处理器蓝图

    我们会继续上传新书<自己动手写处理器>(未公布).今天是第十条.我每星期试试4 从本章開始将一步一步地实现教学版OpenMIPS处理器.本章给出了教学版OpenMIPS的系统蓝图,首先介绍 ...

随机推荐

  1. NopCommerce架构分析之八------多语言

    系统支持的语言是有类:Language表示: 多语言资源对应的类为:LocalizedProperty: 当先选择某种语言存储在类中:GenericAttribute: 多语言可以导出为XML文件,当 ...

  2. 166&period; Fraction to Recurring Decimal

    题目: Given two integers representing the numerator and denominator of a fraction, return the fraction ...

  3. in 与 &equals; 的区别

    in 与 = 的区别   结果是相同的.

  4. tcp&sol;ip协议listen函数中backlog參数的含义

    listen函数的定义例如以下所看到的: #include <sys/socket.h> int accept(int sockfd, struct sockaddr * restrict ...

  5. 阿里云部署Web项目

    1.首先最基本的购买服务器和域名(学生党可以享受每月9块钱的优惠,不知道为什么,pc端不能购买,只能下载阿里云APP购买)  下载APP后打开:学生专区-学生特权-购买(我选择的是ubuntu,这个随 ...

  6. java多线程快速入门(十九)

    如何停止线程 1.使用stop方法强行终止线程(这个方法不推荐使用,可能会出现业务操作未执行完,线程中断了) package com.cppdy; class MyThread15 extends T ...

  7. MLR:输入两个向量,得出两个向量之间的相关度—Jason niu

    import numpy as np from astropy.units import Ybarn import math from statsmodels.graphics.tukeyplot i ...

  8. go语言之进阶篇普通变量的方法集

    1.普通变量的方法集 示例: package main import "fmt" type Person struct { name string //名字 sex byte // ...

  9. hibernate4&period;3 无法获取数据库最新值

    在用ssh框架的时候遇到一个问题(hibernate版本号4.3) 问题描写叙述:web端和应用程序都能够读写数据库.当应用程序改动数据库后.hibernate无法读取最新值,读出来的一直都是旧数据. ...

  10. web前端----css补充

    css常用的一些属性: 1.去掉下划线 :text-decoration:none ;2.加上下划线: text-decoration: underline; 3.调整文本和图片的位置(也就是设置元素 ...