2006年8月21日
如何使用ANT:
ANT可以使复杂的程序在编译的时候不用再一个个地进行编译那样复杂的过程,只要在BUILD.XML中对各个元素进行布暑,就可以一
XML文件中的元素以及作用:
MKDIR
创建一个新目录
SCRDIR
源文件的目录
DESTDIR
目标文件的路径
DEPENDS
它所依赖的TARGET(例:一个TARGET依赖于另一个TARGET,也就是说要想执行这个TARGET,它所依赖的那个TARGET必须成功执行)
使用ANT的优点:
一次性的对XML文件进行布署,以后直接对BUILD.XML的调用,如果下一次程序里有一小部分内容有所变动的话,则编译器只对进行改动了的那一部分程序进行重新编译,节省编译时间
连接池实例的编写
编写程序大概思路:
根据题意要先创建两个存储连接对象的集合,一个用于存放己经使用的连接的,另一个存放没有使用的连接对象,在程序的构造函数中初始化这两个对象,首先是获取连接对象的函数:
public Object getObject()throws Exception{
if(vUsed.size()==10){
throw new Exception("the max is over");
}
//如果未被使用的连接池中的对象为零,则创建一个新的对象,把这个新的对象放入己经使用的连接池,并且返回这个对象
if(vUnused.size()==0){
Object objTemp=new Object();
vUsed.add(objTemp);
return objTemp;
}
//计算出未被使用的连接池中所存的对象的个数
int numVUnused = vUnused.size();
//从未被使用的常量池中取出最后一个对象
Object obj = vUnused.elementAt(numVUnused-1);
//把这个对象入中到己经使用的连接池中,并且把它在未被连接池中去除,最后返回这个对象
vUnused.remove(obj);
vUsed.add(obj);
return obj;
}
在取对象的时候要对各种情况进行判断,如果己用连接池的对象达到10个,则不能再创建连接对象,产生一个异常,并且抛出异常,假如空闲池中的三个对象被用,并且己用池中对象小于10个,则在空闲池中创建一个新的连接对象,并返回..如果以上两种情况都没有出现,则从空闲池中取出一个对象,放入己用对象连接池,并且返回这个对象.
另一个函数
public void ReleaseObject(Object obj){
Object objTemp2;
objTemp2 = obj;
//检查己经使用的连接池中是否存在传入的对象,如果存在的话,将引对象从己经使用的池中移走
if (vUsed.contains(obj)){
vUsed.remove(objTemp2);
}
//如果未被使用的连接池中的对象也于5个,则把传入的对象加入到这个池中
if(vUnused.size()<5){
vUnused.add(objTemp2);
}
}
此函数需要外办为其传入一个连接对象,程序首先判断己用连接对象的信合中是否存在这个对象,假如不存在,则传入的对象不是一个从连接中传出的对象,程序出现异常并跳出,,假如程序能够继续执行,说明此对象是正确的连接对象,则从己用连接池中移出此对象,接着需要判断空闲连接池,如果空闲池中对象个数,小于3个对象,则把从己用连接池的对象移入空闲连接池,如果大于3个对象,则调用此对象的相应的关闭的方法,关闭此对象..