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. 使用HTTP方式远程连接PowerShell

    借助Windows PowerShell,我们可以像管理Linux一样使用命令行来远程管理Windows服务器.但是默认情况下,我们只能在域环境中使用PowerShell Remoting.如果是通过 ...

  2. 玩转Windows Azure存储服务——高级存储

    在上一篇我们把Windows Azure的存储服务用作网盘,本篇我们继续挖掘Windows Azure的存储服务——高级存储.高级存储自然要比普通存储高大上的,因为高级存储是SSD存储!其吞吐量和IO ...

  3. 谈谈Lucene和Solr索引存目录

    在Lucene中,有几种索引存放模式呢?用过的人可能记得SimpleFSDirectory.MMapDirectory.NIOFSDirectory.RAMDirectory这四种.新版本的通过FSD ...

  4. plain framework 1 参考手册 入门指引之 许可协议

    许可 介绍 Apache2 License 介绍 使用非常友好的阿帕奇2许可协议,你可以应用到你想用的任何应用上,如需修改源码,请保留原作者信息. Apache2 License Apache Lic ...

  5. Beyond IT

    Know Yourself <开讲啦> 20160306 潘建伟:探索的动机

  6. zoj 1610

    Count the Colors Time Limit: 2 Seconds      Memory Limit: 65536 KB Painting some colored segments on ...

  7. javascript获取元素的方法[xyyit]

    1. javascript默认的方法: <div id=”div_id” class=”div_class” name=”div_name”></div> //1. 根据id ...

  8. git生成ssh key 避免每次push都要输入账号密码

    第一步:生成public/private rsa key pair在命令行中输入ssh-keygen -t rsa -C "your_email@example.com" 默认在这 ...

  9. How to regress out unwanted vectors

    Source: http://stats.stackexchange.com/questions/117840/how-to-regress-out-some-variables Answer in ...

  10. Vue系列:通过vue-router如何传递参数

    使用vue-router 来实现webapp的页面跳转,有时候需要传递参数,做法如下: 参考文献:http://router.vuejs.org/en/named.html  主要有以下几个步骤: ( ...