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. 鸿雁电器oa系统中决策支持模块效果

    公司简介鸿雁电器是国内著名的建筑电器产品的生产.经营企业,同时也是国家863计划CIMS(计算机集成制造系统)应用工程示范企业.浙江省高新技术企业.浙江省专利示范企业和杭州市信息化试点企业.企业系统泛 ...

  2. 从〇开始构架前端(NLDV框架)

    从〇开始构架前端(NLDV框架) 框架 设计模式 摘要:一个普通应用,大到微信, 小到豆瓣FM,必不可少的都包括四部分:Network.Logic.Data.View(NLDV).如何把他们组合起来, ...

  3. 洛谷P1126机器人搬重物[BFS]

    题目描述 机器人移动学会(RMI)现在正尝试用机器人搬运物品.机器人的形状是一个直径1.6米的球.在试验阶段,机器人被用于在一个储藏室中搬运货物.储藏室是一个N*M的网格,有些格子为不可移动的障碍.机 ...

  4. 利用注解进行sql反射代码示例

    @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @interface Table { String val ...

  5. Unity3D所使用的第三方工具

    前言 最近在研究Unity3D的结构和原理.关于Unity3D怎么用之类的教程在网上一找一大堆,想看教程之类的就不用看这篇文章了.我想做的是从使用Unity3D所看到的表象(表),摸透其设计原则和组织 ...

  6. Maven系列一pom.xml 配置详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  7. Sql-Server应用程序的高级注入

    本文作者:Chris Anley 翻译: luoluo [luoluonet@hotmail.com] [目 录] [概要] [介绍] [通过错误信息获取信息] [更深入的访问] [xp_cmdshe ...

  8. poj2580 Super Memmo

    Description Your friend, Jackson is invited to a TV show called SuperMemo in which the participant i ...

  9. Asp.Net MVC中DropDownListFor的用法(转)

    2016.03.04 扩展:如果 view中传入的是List<T>类型 怎么使用 DropList 既然是List<T> 那么我转化成 T  List<T>的第一个 ...

  10. Integer.parseInt(String s) 和 Integer.valueOf(String s) 的区别

    通过查看java.lang.Integer的源码可以发现, 它们最终调用的都是 /** * Parses the string argument as a signed integer in the ...