package com.lid;  
      
    import java.util.Calendar;  
    import java.util.Date;  
    import java.util.Timer;  
    import java.util.TimerTask;  
      
    public class Test {  
        public static void main(String[] args) {  
            //timer1();  
            timer2();  
            //timer3();  
            //timer4();  
        }  
      
        // 第一种方法:设定指定任务task在指定时间time执行 schedule(TimerTask task, Date time)  
        public static void timer1() {  
            Timer timer = new Timer();  
            timer.schedule(new TimerTask() {  
                public void run() {  
                    System.out.println("-------设定要指定任务--------");  
                }  
            }, 2000);// 设定指定的时间time,此处为2000毫秒  
        }  
      
        // 第二种方法:设定指定任务task在指定延迟delay后进行固定延迟peroid的执行  
        // schedule(TimerTask task, long delay, long period)  
        public static void timer2() {  
            Timer timer = new Timer();  
            timer.schedule(new TimerTask() {  
                public void run() {  
                    System.out.println("-------设定要指定任务--------");  
                }  
            }, 1000, 1000);  
        }  
      
        // 第三种方法:设定指定任务task在指定延迟delay后进行固定频率peroid的执行。  
        // scheduleAtFixedRate(TimerTask task, long delay, long period)  
        public static void timer3() {  
            Timer timer = new Timer();  
            timer.scheduleAtFixedRate(new TimerTask() {  
                public void run() {  
                    System.out.println("-------设定要指定任务--------");  
                }  
            }, 1000, 2000);  
        }  
         
        // 第四种方法:安排指定的任务task在指定的时间firstTime开始进行重复的固定速率period执行.  
        // Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)  
        public static void timer4() {  
            Calendar calendar = Calendar.getInstance();  
            calendar.set(Calendar.HOUR_OF_DAY, 12); // 控制时  
            calendar.set(Calendar.MINUTE, 0);       // 控制分  
            calendar.set(Calendar.SECOND, 0);       // 控制秒  
      
            Date time = calendar.getTime();         // 得出执行任务的时间,此处为今天的12:00:00  
      
            Timer timer = new Timer();  
            timer.scheduleAtFixedRate(new TimerTask() {  
                public void run() {  
                    System.out.println("-------设定要指定任务--------");  
                }  
            }, time, 1000 * 60 * 60 * 24);// 这里设定将延时每天固定执行  
        }  
    }

java定时器的更多相关文章

  1. java定时器和多线程实践记录

    这几天因为需要测试mongodb读写分离的问题,因此写了个定时查询程序,并且用到了多线程,以达到定时启动多个线程查询数据库的效果,下边代码记录备忘: package timmer; import ja ...

  2. java定时器,Spring定时器和Quartz定时器

    一.java定时器的应用 其实java很早就有解决定时器任务的方法了,java提供了了类java.util.TimerTask类基于线程的方式来实现定时任务的操作,然后再提供java.util.Tim ...

  3. Java定时器:Timer

    项目中往往会遇到需要定时的任务,例如订单,当用户在某个规定时间内没有操作订单时,订单状态将会发生改变. 那么在这种情况下,我们会用到定时器. 举例: import java.util.Timer; / ...

  4. Java定时器应用

    在Java多线程中,有的时候,我们需要按照指定间隔时间来执行一些任务,这时,我们就要用到定时器.我们在这里以Java中的Timer定时器为例,演示定时器的应用. 请看下述代码: import java ...

  5. java定时器实现总结

    前言:Java定时器目前主要有3种实现方式:JDK组件,Spring Task,Quartz框架. 1. JDK组件(1) java.util.TimerTask MyTimerTask.java: ...

  6. Java定时器TimeTask

    package com.alan.timer; import java.util.Calendar;import java.util.Date;import java.util.Timer;impor ...

  7. Java定时器Timer

    Java定时器Timer在JDK库中,Timer类主要负责计划任务的功能,也就是在指定的时开始执行某一个任务.Timer类的主要作用就是设置计划任务,但封装任务的类却是TimerTask类,执行计划任 ...

  8. [Java定时器]用Spring Task实现一个简单的定时器.

    今天做一个项目的的时候需要用到定时器功能.具体需求是: 每个月一号触发一次某个类中的方法去拉取别人的接口获取上一个月份车险过期的用户.如若转载请附上原文链接:http://www.cnblogs.co ...

  9. 关于java 定时器的使用总结

    直接上代码,代码中有注释(代码中还有一些本人的其他测试,读者可以忽略不计).读者在代码中发现了bug,欢迎指正. package j2se.system.test; import java.text. ...

  10. java定时器的使用

    定时器类Timer在java.util包中.使用时,先实例化,然后使用实例的schedule(TimerTask task, long delay)方法,设定指定的任务task在指定的延迟delay后 ...

随机推荐

  1. ANSI Common Lisp Learn

    It has been a long time that I haven't dealt with my blog. On one hand I was preparing the exams.On ...

  2. 使用Windows Azure的VM安装和配置CDH搭建Hadoop集群

    本文主要内容是使用Windows Azure的VIRTUAL MACHINES和NETWORKS服务安装CDH (Cloudera Distribution Including Apache Hado ...

  3. [原创]用C++类实现单向链表的增删查和反转操作

    数据结构这东西,理解起来不算难,但是实现难度就不小了,虽然思路很清晰,但不知道从何下手还有语言的细节问题一直是阻碍初学者的主要障碍(比如我).今天用了一下午时间终于独立完成了链表操作. 找网上的代码, ...

  4. hdu5269 Chip Factory

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=5536 题目: Chip Factory Time Limit: 18000/9000 MS ( ...

  5. IT菜鸟的第一天

    小弟愚钝,被别人影响,打算入IT行业试试水的深浅,俗话说技不压身,多会一种就多一条路子,抱着这种求知的心态我就开始的我在汉企的IT生涯! 第一天无非就是简介,对IT行业的介绍,反正听得我挺懵的,不过介 ...

  6. java工程中的.classpath<转载>

    第一部分:classpath是系统的环境变量,就是说JVM加载类的时候要按这个路径下去找,当然这个路径下可以有jar包,那么就是jar包里所有的class. eclipse build path是ec ...

  7. php常用函数(不定时更新)

    一,数据操作类 1,天花板函数(ceil)和地板函数(floor) 这两个函数是对数据进行向上取整和向下取整的操作的,比如说 echo ceil("3.01"); //这里输出的是 ...

  8. HDU 1166 敌兵布阵

    B - 敌兵布阵 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  9. C# Chrome内核

    C#将WebBowser控件替换为Chrome内核 摘要 由于最近要做一个浏览器式的软件,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,默认的WebBrowser控件默认使用 ...

  10. JavaScript文件加载器LABjs API详解

    在<高性能JavaScript>一书中提到了LABjs这个用来加载JavaScript文件的类库,LABjs是Loading And Blocking JavaScript的缩写,顾名思义 ...