java 数据库连接池
数据库连接池,是一种相当实用的应用程序。它可以保存、维护及创建用户所需的数据库连接。从而使得用户得到一个连接的时间降低90%以上。大大提升了数据库访问的反应时间。
这个是一个开源的代码。大家可以修改它、使用它。
希望我的代码能对大家有用。
此代码,经过1000数量级的多线程并发访问测试。在四核CPU下也进行了多线程测试。保证了连接池在真多线程上同步访问的安全性。
里面包含了一个公开的接口。使用这个接口里面的函数。可以轻易创建使用数据库连接池服务。
使用一个守护线程维护这个连接池,完全自动化。
下载连接:http://download.csdn.net/user/lauo1188
连接池接口类:
package mysql;
import java.sql.*;
import java.sql.ResultSet;
public interface Pool
{
public boolean start(String dbname,String user,String psw); //启动数据库连接池服务
//以下start函数将允许用户设置最低空闲连接数,最高空闲连接数,最大连接数
public boolean start(int lows,int maxs,int maxc,String dbname,String user,String psw);
public Connection getConnection(); //得到连接器
public boolean freeConnection(Connection con);//将连接返回到连接池中
public boolean close(); //清除连接池,并且关闭它(使之变得不可用)
}
第一个实现类:VectorPool
/**
* @(#)Pool.java
*
*
* @author lauo
* @version 1.00 2010/5/15
*
* 测试完成于2010-5-16 22:40分
*/
package mysql;
import mysql.*;
import java.sql.*;
import java.util.*;
/*
*这里将实现ConnectionPool接口
*/
public class VectorPool extends Thread implements Pool
{
protected final boolean debug = false; //是否debug态(如是 输出debug状态信息)
protected boolean init = false;//是否已经将setting初始化
//timeDiff 一个连接超过此时间未使用过,则需要更新此连接----1小时
protected final long timeDiff = 60*60*1000 ;//1小时60分钟,1分钟60秒,1秒1000毫秒
protected int lows = 20 ; //连接池的最小空闲连接数
protected int maxs = 100 ; //连接池的最大空闲连接数
protected int maxc = 100;
protected String dbname = null;
protected String user = null;
protected String psw = null;
protected Integer conCount = 0; //这个是静态的。当前连
相关文档:
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个java对象转换为字节序列,即java对象序列号,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象,即反序列化。
把Java对象转换为字节序列的过程称为对象的序列化。
......
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。
一、Java编程入门类
对于没有Java编程经验的Java程序员要入门,随便读什么入门书 ......
软件名称:图书管理工具
总体设计:
1.
命令行操作方式
2.
欢迎页面
---welcome to visit
software of book
management
Now is ...
& ......
1.Welcome.java
import java.util.Date;
import java.util.Scanner;
public class Welcome {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args){
// TODO Auto-generated method stub
System.out.println("Welcome to vis ......
(一)线程同步
实现生产者消费者问题来说明线程问题,举例如下所示:
/**
* 生产者消费者问题
*/
public class ProducerConsumer {
/**
* 主方法
*/
public static void main(String[] args) {
ProductBox pb = new ProductBox ......