记录学习过程中的点点滴滴
Java
介绍Nutch两篇入门文章
四 13th
http://today.java.net/pub/a/today/2006/01/10/introduction-to-nutch-1.html
http://today.java.net/pub/a/today/2006/02/16/introduction-to-nutch-2.html
很不错的入门文章
java中equals的改写方法
三 12th
下面三篇文章写得很详细:
利用 Commons Lang库改写equals与hashCode方法<http://blog.csdn.net/darxin/archive/2010/02/20/5312743.aspx>
继承关系下的equals改写 <http://blog.csdn.net/darxin/archive/2010/02/27/5331137.aspx>
如何正确改写equals方法 <http://blog.csdn.net/darxin/archive/2010/03/06/5351228.aspx>
Quartz使用之:Cron 表达式
三 8th
一个Cron表达式是由7个子表达式组成的字符串,这些子表达式用空格分隔,其中最后一个子表达式是可选的,其他都是必须的。每个子表达式都描述了一个单独的日程细节。每一个子表达式的含义如下:
子表达式名称(取值范围)(允许的特殊字符)
1.Seconds秒 (0-59) (, – * /)
2.Minutes分钟 (0-59) (, – * /)
3.Hours小时 (0-23) (, – * /)
4.Day-of-Month月中的天 (1-31) (, – * ? / L W)
5.Month月 (1-12或JAN-DEC) (, – * /)
6.Day-of-Week周中的天 (1-7或SUN-SAT) (, – * ? / L #)
7.Year(optional)年(可选) (空或1970-2099) (, – * /)
一个cron表达式的例子字符串为”0 0 12 ? * WED”,这表示“每周三的中午12:00”。 更多 >
Spring中配置Quartz的方法
三 8th
Quartz使用-入门使用
三 7th
简单的任务管理类
package org.solucking.smf.util;
import java.text.ParseException;
import org.quartz.CronTrigger;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
/**
* @Title:Quartz管理类
*
* @Description:
*
* @Copyright:
* @author zz 2008-10-8 14:19:01
* @version 1.00.000
*
*/
public class QuartzManager {
private static SchedulerFactory sf = new StdSchedulerFactory();
private static String JOB_GROUP_NAME = “group1″;
private static String TRIGGER_GROUP_NAME = “trigger1″;/** *//**
* 添加一个定时任务,使用默认的任务组名,触发器名,触发器组名
* @param jobName 任务名
* @param job 任务
* @param time 时间设置,参考quartz说明文档
* @throws SchedulerException
* @throws ParseException
*/
public static void addJob(String jobName,Job job,String time)
throws SchedulerException, ParseException{
Scheduler sched = sf.getScheduler();
JobDetail jobDetail = new JobDetail(jobName, JOB_GROUP_NAME, job.getClass());//任务名,任务组,任务执行类
//触发器
CronTrigger trigger =
new CronTrigger(jobName, TRIGGER_GROUP_NAME);//触发器名,触发器组
trigger.setCronExpression(time);//触发器时间设定
sched.scheduleJob(jobDetail,trigger);
//启动
if(!sched.isShutdown())
sched.start();
}/** *//**
* 添加一个定时任务
* @param jobName 任务名
* @param jobGroupName 任务组名
* @param triggerName 触发器名
* @param triggerGroupName 触发器组名
* @param job 任务
* @param time 时间设置,参考quartz说明文档
* @throws SchedulerException
* @throws ParseException
*/
public static void addJob(String jobName,String jobGroupName,
String triggerName,String triggerGroupName,
Job job,String time)
throws SchedulerException, ParseException{
Scheduler sched = sf.getScheduler();
JobDetail jobDetail = new JobDetail(jobName, jobGroupName, job.getClass());//任务名,任务组,任务执行类
//触发器
CronTrigger trigger =
new CronTrigger(triggerName, triggerGroupName);//触发器名,触发器组
trigger.setCronExpression(time);//触发器时间设定
sched.scheduleJob(jobDetail,trigger);
if(!sched.isShutdown())
sched.start();
}/** *//**
* 修改一个任务的触发时间(使用默认的任务组名,触发器名,触发器组名)
* @param jobName
* @param time
* @throws SchedulerException
* @throws ParseException
*/
public static void modifyJobTime(String jobName,String time)
throws SchedulerException, ParseException{
Scheduler sched = sf.getScheduler();
Trigger trigger = sched.getTrigger(jobName,TRIGGER_GROUP_NAME);
if(trigger != null){
CronTrigger ct = (CronTrigger)trigger;
ct.setCronExpression(time);
sched.resumeTrigger(jobName,TRIGGER_GROUP_NAME);
}
}/** *//**
* 修改一个任务的触发时间
* @param triggerName
* @param triggerGroupName
* @param time
* @throws SchedulerException
* @throws ParseException
*/
public static void modifyJobTime(String triggerName,String triggerGroupName,
String time)
throws SchedulerException, ParseException{
Scheduler sched = sf.getScheduler();
Trigger trigger = sched.getTrigger(triggerName,triggerGroupName);
if(trigger != null){
CronTrigger ct = (CronTrigger)trigger;
//修改时间
ct.setCronExpression(time);
//重启触发器
sched.resumeTrigger(triggerName,triggerGroupName);
}
}/** *//**
* 移除一个任务(使用默认的任务组名,触发器名,触发器组名)
* @param jobName
* @throws SchedulerException
*/
public static void removeJob(String jobName)
throws SchedulerException{
Scheduler sched = sf.getScheduler();
sched.pauseTrigger(jobName,TRIGGER_GROUP_NAME);//停止触发器
sched.unscheduleJob(jobName,TRIGGER_GROUP_NAME);//移除触发器
sched.deleteJob(jobName,JOB_GROUP_NAME);//删除任务
}/** *//**
* 移除一个任务
* @param jobName
* @param jobGroupName
* @param triggerName
* @param triggerGroupName
* @throws SchedulerException
*/
public static void removeJob(String jobName,String jobGroupName,
String triggerName,String triggerGroupName)
throws SchedulerException{
Scheduler sched = sf.getScheduler();
sched.pauseTrigger(triggerName,triggerGroupName);//停止触发器
sched.unscheduleJob(triggerName,triggerGroupName);//移除触发器
sched.deleteJob(jobName,jobGroupName);//删除任务
}
}
测试工作类 更多 >
java中获取web应用的根目录
三 7th
public String getWebClassesPath() {
String path = getClass().getProtectionDomain().getCodeSource()
.getLocation().getPath();
return path;}
Java中的IO流知识总结(转)
十二 30th
总结一:
Java IO的一般使用原则:
一、按数据来源(去向)分类:
1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter
2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream
3、是Char[]: CharArrayReader, CharArrayWriter
4、是String: StringBufferInputStream, StringReader, StringWriter
5、网络数据流:InputStream, OutputStream, Reader, Writer
二、按是否格式化输出分: 更多 >
java–BigInteger to Integer转化
十二 24th
从Integer到BigInteger转化直接,因为BigInteger的位数大于Integer.
今天遇到了从BigInteger到Integer的转化,直接强制类型转为会出错,需要用BigInteger类的intValue()函数来获得Integer值
BigInteger bigValue = 1111111;
Integer intValue = bigValue.intValue();
另外一种方式是 intValue = Integer.valueOf(bigValue.toString);//通过string来转化
java中的日期由String转换为Date
十二 11th
导入类包括:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
使用:
//定义一种日期格式,注意DateFormat是一个接口
DateFormat formater = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
String strDate = “2009-12-10 23:48:55″;//string类型的date
Date date = null;//转化保存的date
try
{
date = formater.parse(strDate);
}
catch(Exception e)
{
System.out.println(e.getMessage);
}
附:java中的日期格式
字母 日期或时间元素 表示 示例
G Era 标志符 Text AD
y 年 Year 1996 ; 96
M 年中的月份 Month July ; Jul ; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday ; Tue
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time ; PST ; GMT-08:00
Z 时区 RFC 822 time zone -0800
近期评论