天天看点

java map 定时_java实现定时执行某个任务

该方法适用于,需要每天某个时刻定时(重复)执行某个任务的情况。代码如下:

package com.yjl.timer;

import java.util.Calendar;

import java.util.Date;

import java.util.Timer;

import java.util.TimerTask;

public class TestTimer {

//要定时执行的任务(作为守护线程存在)

TimerTask task = new TimerTask() {

@Override

public void run() {

System.out.println("执行任务了!!!!");

}

};

private  Date firstTime = null;

private long period = 2000;

public void runTask() {

Calendar calendar = Calendar.getInstance();

//calendar.set(Calendar.DAY_OF_YEAR, 2);//一年中的第几天

calendar.set(Calendar.HOUR_OF_DAY, 14);//一天中的第几个小时

calendar.set(Calendar.MINUTE, 17);//第几分钟

calendar.set(Calendar.SECOND, 0);//第几秒

//第一次执行定时任务的时间(如果在这时间之后执行这个方法,依然会执行任务,即设定的是14点执行任务,14点之后的任何时间开始该任务都会执行指定任务)

Date date = calendar.getTime();

firstTime = date;

//创建一个新的定时器

Timer timer = new Timer();

//参数一:所要安排的任务。参数二:首次执行任务的时间。参数三:执行各后续任务之间的时间间隔,单位是毫秒。

timer.scheduleAtFixedRate(task, firstTime, period);

}

public static void main(String[] args) {

TestTimer testTimer = new TestTimer();

testTimer.runTask();

}

}