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对象转换为字节序列的过程称为对象的序列化。
......
主要代码参考了beansoft的ZipUtil,添加了一个方法,
可以把不同目录文件添加到zip中,并做了一些改进,使用了apache的zip类,(原为jdk的zip类),使支持中文文件名。
apache的zip类可以从ant中抽取。apache好像没有提供单独下载。
package com.order;
import java.io.*;
import java.util.List;
import org.apache.tool ......
一、利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务
1.首先建立一个Web services EndPoint:
Java代码
package Hello;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.xml.ws.Endpoint;
@WebService
public class Hello {
@WebMet ......
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 ......
为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用汉语编程。汉语编程是怎么回事我也不大清楚,应该是前年吧,我一朋友给我介绍汉语编程,怎么不错不错?当时因为学习忙没去关注这个,等我闲 ......