定时器
定时器的作用:间隔特定的时间,执行特定的程序
在Java中可以使用多种方式实现:
1.可以使用sleep方法,睡眠,设置睡眠时间,每到这个时间点醒来,执行任务(原始)
2.在Java的类库里面已经写好了一个定时器:Java.util.Timer,可以直接拿来用,但是现在用的很少,很多高级框架支持定时任务
在实际的开发中,目前使用较多的是Spring框架中提供的SpringTask框架(底部实现原理就是Timer),只要进行简单的配置就可以完成定时器的任务
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.logging.SimpleFormatter;
public class TimerTask {
public static void main(String[] args) throws ParseException {
/使用定时器指定定时任务/
//创建定时器对象
Timer timer = new Timer();
//Timer timer = new Timer(true); 表示守护线程的方式
//指定定时任务
// timer.schedule(定时任务,第一次执行时间,间隔多久执行一次);
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-mm-dd HH:mm:ss”);
//parse方法转换日期
Date firsttime = sdf.parse(“2020-06-15 21:00:00”);
timer.schedule(new LogTimeTask(),firsttime,1000*10);
}
}
//需要单独编写一个定时任务类
//假设这是一个记录日志的定时任务
class LogTimeTask extends java.util.TimerTask {
@Override
public void run() {
//编写需要执行的任务
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
String strTime = sdf.format(new Date());
System.out.println(strTime+":完成了一次数据备份");
}
}