java Timer 定时每天凌晨0点执行任务

import java.util.TimerTask;
/**
 * 执行内容
 * @author admin_Hzw
 *
 */
public class Task extends TimerTask {
    public void run() {
        System.out.println("我有一头小毛驴!");
    }  
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;  

/**
 * 任务管理
 * @author admin_Hzw
 *
 */
public class TimerManager {  

    /**
     * @param args
     */
    public static void main(String[] args) {
        new TimerManager();
    }  

    //时间间隔(一天)
    private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;
    public TimerManager() {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, 1); //凌晨1点
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        Date date=calendar.getTime(); //第一次执行定时任务的时间
        //如果第一次执行定时任务的时间 小于当前的时间
        //此时要在 第一次执行定时任务的时间加一天,以便此任务在下个时间点执行。如果不加一天,任务会立即执行。
        if (date.before(new Date())) {
            date = this.addDay(date, 1);
        }
        Timer timer = new Timer();
        Task task = new Task();
        //安排指定的任务在指定的时间开始进行重复的固定延迟执行。
        timer.schedule(task,date,PERIOD_DAY);
    }
    // 增加或减少天数
    public Date addDay(Date date, int num) {
        Calendar startDT = Calendar.getInstance();
        startDT.setTime(date);
        startDT.add(Calendar.DAY_OF_MONTH, num);
        return startDT.getTime();
    }  

}  
时间: 2024-12-25 17:02:38

java Timer 定时每天凌晨0点执行任务的相关文章

java Timer 定时每天凌晨1点执行任务

import java.util.TimerTask;/** * 执行内容 * @author admin_Hzw * */public class Task extends TimerTask {    public void run() {        System.out.println("我有一头小毛驴!");     }} import java.util.Calendar;import java.util.Date;import java.util.Timer; /** 

java Timer 定时执行任务

package com.ly.fw.util; import java.io.Reader; import java.util.Calendar; import java.util.Date; import java.util.Timer; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFa

Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解

原创整理不易,转载请注明出处:Spring定时器配置的两种实现方式OpenSymphony Quartz和java Timer详解 代码下载地址:http://www.zuidaima.com/share/1772648445103104.htm 有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz. 1.Java Timer定时 首先继承java.util.TimerTask类实现run方法 import java.util.TimerTask; p

Java Timer触发定时器

XML: <!-- Java Timer定时 --> <!-- <bean id="shortUrlTask" class=" com.spring.common.ShortUrlTask"> </bean> <bean id="scheduleReportTask" class="org.springframework.scheduling.timer.ScheduledTimerTas

Java定时任务:利用java Timer类实现定时执行任务的功能

一.概述 在java中实现定时执行任务的功能,主要用到两个类,Timer和TimerTask类.其中Timer是用来在一个后台线程按指定的计划来执行指定的任务. TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务,具体要执行的代码写在TimerTask需要被实现的run方法中. 二.先看一个最简单的例子 我们通过代码来说明 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

java cache过期策略两种实现,一个基于list轮询一个基于timer定时

最近项目要引入缓存机制,但是不想引入分布式的缓存框架,所以自己就写了一个轻量级的缓存实现,有两个版本,一个是通过timer实现其超时过期处理,另外一个是通过list轮询.       首先要了解下java1.6中的ConcurrentMap ,他是一个线程安全的Map实现,特别说明的是在没有特别需求的情况下可以用ConcurrentHashMap.我是想学习一下读写锁的应用,就自己实现了一个SimpleConcurrentHashMap. [java] view plain copy print

java中定时执行任务

现在项目中用到需要定时去检查文件是否更新的功能.timer正好用于此处. 用法很简单,new一个timer,然后写一个timertask的子类即可. 代码如下: [java] view plain copy package comz.autoupdatefile; import java.util.Timer; import java.util.TimerTask; public class M { public static void main(String[] args) { // TODO

java实现定时备份mysql数据库-----已通过测试

配置文件中的信息 sqlurl=C://Program Files (x86)//MySQL//MySQL Server 5.0//bin//mysqldump -h localhost -uroot -pwjg user      path=F:/test.sql      backuptime=16:34:00 备份数据库 public class TestMysql {                   //读取配置文件中的信息                   //MySql的安装b

会员卡管理系统技术解析(十八)Timer定时监听

会员卡管理系统技术解析(十八)Timer定时监听 在web应用中,有时候客户需要一些定时程序,不需要客户自己去操作,而是由应用程序自行触发(代理)执行某些操作.这个时候监听与定时器的配合使用就基本可以实现这个需求了.网上很多代码并不完整,水平未到,看得太吃力了.下面以系统每天00:00:00进行的当日最大单据数维护进行实例解析. 首先,建立相关的包河类,如下图: 图1 然后,在"web.xml"中对定时器和监听类注册,代码如下: <servlet> <servlet-