一 . Ant是一个类似make的工具,用来编译/运行/测试java程序。 构建、包装和发布过程中几乎每一件事都可以由Ant的任务来处理.
Ant的用法:
1.设置环境变量,在环境变量path的后面加上";C:\apache-ant-1.6.5\bin";
没有指定任何参数时,Ant会在当前目录下查询build.xml文件。如果找到了就用该文件作为buildfile。如果你用 -find 选项。Ant就会在上级目录中寻找buildfile,直至到达文件系统的根。要想让Ant使用其他的buildfile,可以用参数 -buildfile file,这里file指定了你想使用的buildfile。
2.写一个build.xml文件,下面是一个简单的例子:
<?xml version="1.0" encoding="gb2312"?><!--指定编码方式为gb2312这样就可以加上一些中文注释了-->
<project name="antDemo" default="run">
<!--属性文件 student.property 的内容:
name=zhangsan
age=18
sex=m
-->
<property file="student.property"/>
<target name="echo_1">
<echo message="${name},${age},${sex}"/>
</target>
<!--定义一个全局变量 -->
<property name="age" value="23"/>
<target name="echo_2">
<echo message="${age}"/>
</target>
<!--使用环境变量-->
<property environment="envir"/>
<target name="echo_3">
<echo message="${envir.OS}"/>
</target>
<!--编译java源文件-->
<target name="init">
<!--使用mkdir创建dest目录-->
<mkdir dir="dest"/>
</target>
<!--使用depends指定此target要依赖的对象-->
<target name="compile" depends="init">
<!--
srcdir指定java源文件的路径,destdir指定class文件的路径,includes指定要编译
的文件,如果不指定此属性,则编译srcdir指定目录下面的所有java源文件,还可以使用
excludes指定要排斥的文件。
-->
<javac srcdir="src" destdir="dest" includes="test/Hello1.java, test/HelloWorld1.java"/>
</target>
<target name="run" depends="compile">
<!--classname属性指定要运行的class文件-->
<java classname="Hello1">
<!--classpath子元素的pathelement子元素指定classname指定的文件的路径-->
<classpath>
<pathelement path="dest"/>
</classpath>
</java>
</target>
</project>
在DOS环境下运行ant,这时可能会有两种结果,一是正确执行得到你自己想要的结果了,而是出现错误提示说找不到tools.jar包,这时就得设置java的环境变量了,本人都是用下面这方法设置的,
(1).变量名:JAVA_HOME 值:"jdk的绝对路径",
(2).变量名:classpath 值:"%JAVA_HOME%/lib",
(3).变量名:path 值:";%JAVA_HOME%/bin",
这样再重启命令行窗口运行ant命令就不会有错了.
二 . 一个对象池的例子,很有用的一个例子哦!在连接数据库时的连接对象池就可以用这样的方法,
下面是两个比较简单的方法:
/*此题设计一个ObjectPool类作为对象池,这个对象池负责创建和维护若干个Object对象,
*其初始化有3个Object对象,此类提供一个getObject方法,该方法每次向外部提供一个未被
*外部使用的Object对象,如果所维护的对象全部返回给了外面,则对象池负责创建新的Object
*对象返回给外部,如果所返回给外部的对象达到10个时则抛出异常,此类还提供一个
*releaseObject方法,用于将先前提供给外部的一个Object对象退还到对象池中,它维护的未
*被外部使用的Object对象不能超过5个。
*/
import java.util.*;
public class ObjectPool
{
//第一种方法
Vector busyPool = new Vector();//正在使用的对象集合
Vector freePool = new Vector();//没有使用的对象集合
public ObjectPool()
{
//默认freePool里面有三个对象
freePool.add(new Object());
freePool.add(new Object());
freePool.add(new Object());
}
public Object getObject() throws Exception
{
if(busyPool.size() >= 10)//大于10个对象时抛出异常
{
throw new Exception("异常!");
}
if(freePool.size() == 0)//如果freePool没对象就创建一个新对象添加到busyPool并返回
{
Object objNew = new Object();
busyPool.add(objNew);
return objNew;
}
int index = freePool.size() - 1;//当集合里面还有对象时,
Object obj = freePool.get(index);//获取freePool里面的最后一个对象obj
busyPool.add(obj);//将obj添加到busyPool里面,
freePool.remove(obj);//将obj从freePool对象里面删除。
return obj;
}
public void releaseObject(Object obj) throws Exception
{
if(busyPool.contains(obj))//如果busyPool集合里面存在这个对象则删除它
{
busyPool.remove(obj);
}
else//否则抛出异常
{
throw new Exception("异常");
}
if(freePool.size() < 5)//此对象池最多能容纳5个空闲对象。
{
freePool.add(obj);//如果不超过5个则将添加至freePool中
}
}
/* 第二种方法,和第一种的相比在于releaseObject方法中不能判断外部退还的对象是不是此对象池给出去的对象
Vector v = new Vector();//保存从外面传回来的对象,初始化有三个
int count = 3;//定义一个记录总共对象的计数器
public ObjectPool()
{
for(int i = 0; i < 3; i++)
{
Object obj= new Object();
v.add(obj);
}
}
public Object getObject() throws Exception
{
Object o = null;
if(v.size() == 0 && count < 10)//当集合里面没有空闲对象且总共拿出去的对象不超过
{//10个时,则新建一个对象,计数器自 +1;
o = new Object();
count++;
}
else if(count == 10) //当计数器记录的对象数达到10个时抛出异常。
{
throw new Exception("异常");
}
else if(v.size() > 0 && count < 10)//当集合里面有空闲对象且计数器记录的对
{//象数少于10个时,从集合里面取出一个并删除它
o = v.get(v.size() - 1);//最后返回
v.remove(v.size() - 1);
count++;
}
return o;
}
public void ReleaseObject(Object o)
{
if(v.size() < 5)//当空闲对象小于5个时就将外面传进来的对象放到集合中,
{
v.add(o);
}
count--;//每传回来一个就把计数器自 -1.
}
*/
}
分享到:
相关推荐
ant学习笔记之(ant执行命令的详细参数和Ant自带的系统属性)
ant 学习笔记 ,自己的一些学的时候的一个例子
Ant学习笔记Ant学习笔记Ant学习笔记
NULL 博文链接:https://worktianqi.iteye.com/blog/2162932
博文链接:https://jimjiang.iteye.com/blog/123820
ant 笔记 来源网络
关于Ant学习的一点点小结,整理成档了,文档中已经包含了几个简单的build.xml实例,也有注释,简单明了、通俗易懂
ant个人学习笔记和简单示例,主要包括各种命令,以及简单的示例
Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容...ant学习笔记...................387 Web Service学习笔记.....388
内容目录 .......................1 Java/JavaEE.....1 2008年11月1日...............1 Unix 学习笔记7 一、Unix前言............7 ...ant学习笔记...................387 Web Service学习笔记.....388
十分有用的ant资料,由此可以快速入门.
1 20个Java基础Tips 2 abstract,static,final修饰符 3 ChinaUnix.net Java精华贴 4 ANT学习笔记 5 极度性能调整 <br> FAQs 1 关于ConnectionManager中的代码 2 关于...
NULL 博文链接:https://shawnfree.iteye.com/blog/346466
Ant Design Pro 4.x学习笔记(一)基础 简介 自己学习的一点心得,希望有不足的地方,轻喷。 Ant Design Pro 是ant的一个项目,是一个企业级中后台前端/设计解决方案,与Ant Design 一脉同源。学习Ant Design Pro ...
Java JDK 5.0学习笔记 1至6章及附录A和附录B 包含java特性、java学习方法、网络资源汇总、jdk下载和安装、path与CLASSPATH的设置、java基本语法、关于对象的认识、数组、字符串(String类))、Ant简介、JUnit简介。 ...