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. 以最简单的登录为例,诠释JS面向对象的简单实例

    JavaScript,是前端开发人员必须会的一门技术,从JS演变出来的有很多框架,先说说几个热门的框架吧: JQuery:这个技术必须会,如果不会,那一定要会查api,知道怎么写,要看得懂英文文档,这 ...

  2. NOIP2004合并果子

    题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和.可 ...

  3. POJ1849Two[DP|树的直径](扩展HDU4003待办)

    Two Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 1390   Accepted: 701 Description Th ...

  4. AC日记——密码翻译 openjudge 1.7 09

    09:密码翻译 总时间限制:  1000ms 内存限制:  65536kB 描述 在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍 ...

  5. C#添加测量运行时间

    使用范围 使用模块化开发,每个模块都有初始化功能,初始化功能可能包括:加载配置表,初始化事件,初始化设置 那么如果想测量每个模块的Init时间呢?Net框架已经提供了测量运行的方法 System.Di ...

  6. java 24 - 4 GUI之创建数据转移窗口

    需求: 把文本框中的数据,通过点击按钮,转移到文本域中.  同时清空文本框中的数据 代码:(步骤都注释了) public class FrameDemo4 { public static void m ...

  7. Python-01-基础

    一.安装Python 官方下载地址:https://www.python.org/downloads/ Windows可直接下载安装,安装时勾选自动配置环境变量即可. Linux/OS X默认装有Py ...

  8. Qt学习笔记网络(一)

    Qt5 移除了QHttp是因为功能重复 用QNetworkAccessManager完全能搞定 新建一个控制台应用程序 看一下QNetworkAccessManager的帮助文档 需要添加Qt + = ...

  9. 整合Apache与PHP教程

    Apache下载安装完成后,PHP下载解压后,最重要的是如何将他们连接起来,就是整合到一起,让它们之间有联系,笔者根据自己多次配的经验和帮学弟学妹配时他们的理解程度整理了一个比较详细易理解的版本,下面 ...

  10. SQL基础之select

    1.认识select select的主要语法如下,这个很重要因为只有记住了整体的结构才能应对任何情况.从中可以看到select的强大主要就是建立在where.group by.having.order ...