• package com.wxltsoft.tool;
  •  
     
  •  
    import org.junit.Test;
  •  
     
  •  
    import java.util.Calendar;
  •  
    import java.util.Date;
  •  
    import java.util.Timer;
  •  
    import java.util.TimerTask;
  •  
     
  •  
    /**
  •  
    * @Author: Zhangbx
  •  
    * @Description:
  •  
    * @Date: 2017/12/5
  •  
    * @Modified By:
  •  
    * @Modified Date:
  •  
    */
  •  
    public class TimerUtil {
  •  
     
  •  
    public static void main(String[] args) {
  •  
    // timer1();
  •  
    // timer2();
  •  
    // timer3();
  •  
    timer4();
  •  
    }
  •  
     
  •  
    /**
  •  
    * 设定2000毫秒后执行
  •  
    */
  •  
    public static void timer1(){
  •  
    Timer nTimer = new Timer();
  •  
    nTimer.schedule(new TimerTask() {
  •  
    @Override
  •  
    public void run() {
  •  
    System.out.println("----设定要指定任务-----");
  •  
    }
  •  
    },2000);
  •  
    }
  •  
     
  •  
    /**
  •  
    * 延迟5000毫秒,每1000毫秒执行一次
  •  
    */
  •  
    public static void timer2() {
  •  
    Timer timer = new Timer();
  •  
    timer.schedule(new TimerTask() {
  •  
    public void run() {
  •  
    System.out.println("-------延迟5000毫秒,每1000毫秒执行一次--------");
  •  
    }
  •  
    }, 5000, 1000);
  •  
    }
  •  
     
  •  
    /**
  •  
    * 延迟5000毫秒,每1000毫秒执行一次
  •  
    */
  •  
    public static void timer3() {
  •  
    Timer timer = new Timer();
  •  
    timer.scheduleAtFixedRate(new TimerTask() {
  •  
    public void run() {
  •  
    System.err.println("-------延迟5000毫秒,每1000毫秒执行一次--------");
  •  
    }
  •  
    }, 5000, 1000);
  •  
    }
  •  
    /**
  •  
    * 设置17:56执行任务
  •  
    * java.util.Timer.scheduleAtFixedRate(TimerTask task, Date firstTime, long period)
  •  
    */
  •  
    public static void timer4() {
  •  
    Calendar calendar = Calendar.getInstance();
  •  
    calendar.set(Calendar.HOUR_OF_DAY, 17);
  •  
    calendar.set(Calendar.MINUTE, 26);
  •  
    calendar.set(Calendar.SECOND, 0);
  •  
     
  •  
    Date time = calendar.getTime();
  •  
     
  •  
    Timer timer = new Timer();
  •  
    timer.scheduleAtFixedRate(new TimerTask() {
  •  
    public void run() {
  •  
    System.out.println("-------设定要指定任务--------");
  •  
    }
  •  
    }, time, 1000 * 60 * 60 * 24);// 这里设定将延时每天固定执行
  •  
    }
  •  
     
  •  
     
  •  
    }

Java实现定时器的四种方式的更多相关文章

  1. JAVA解析XML的四种方式

    java解析xml文件四种方式 1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这 ...

  2. java 遍历Map的四种方式

      java 遍历Map的四种方式 CreationTime--2018年7月16日16点15分 Author:Marydon 一.迭代key&value 第一种方式:迭代entrySet 1 ...

  3. Java创建线程的四种方式

    Java创建线程的四种方式 1.继承Thread类创建线程 定义Thread类的子类,并重写该类的run方法,run()方法的内容就是该线程执行的内容 创建Thread子类的实例,即创建了线程对象. ...

  4. java 20 -10 字节流四种方式复制mp3文件,测试效率

    电脑太渣,好慢..反正速率是: 高效字节流一次读写一个字节数组 > 基本字节流一次读写一个字节数组 > 高效字节流一次读写一个字节 > 基本字节流一次读写一个字节 前两个远远快过后面 ...

  5. java线程实现的四种方式

    java多线程的实现可以通过以下四种方式 1.继承Thread类,重写run方法 2.实现Runnable接口,重写run方法 3.通过Callable和FutureTask创建线程 4.通过线程池创 ...

  6. Java Array数组 遍历 四种方式(包含 Lambda 表达式遍历)

    示例代码如下: package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date ...

  7. Java List集合 遍历 四种方式(包含 Lambda 表达式遍历)

    示例代码如下: package com.miracle.luna.lambda; import java.util.ArrayList; import java.util.List; /** * @A ...

  8. Java添加事件的四种方式

    Java添加事件的几种方式(转载了codebrother的文章,做了稍微的改动) /** * Java事件监听处理——自身类实现ActionListener接口,作为事件监听器 * * @author ...

  9. java遍历map的四种方式

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

随机推荐

  1. 原生js来写获取元素距离顶部距离,以及滚动条滚动指定距离和时间控制

    这是我在写vue项目里封装的一个公共js类 里面还有一些其他的方法,一并拿过来了 class Public { isDesktop(){ //判断是否为pc端 return (window.scree ...

  2. RN开发-windows环境搭建

    1.安装jdk,sdk,C++运行环境(cygwin,Windows SDK,mingw),node.js和git 2.设置全局使用指定的镜像        打开git-cmd.exe         ...

  3. C语言移除链表元素

    删除链表中等于给定值 val 的所有节点. 示例: 输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4 ...

  4. python3练习100题——032

    链接:http://www.runoob.com/python/python-exercise-example32.html 题目:按相反的顺序输出列表的值. 我的代码: for i in li[:: ...

  5. linux分区命令parted的用法

    parted的适用场景 创建操作大于2T的分区 一般情况下,我们都是选择使用fdisk工具来进行分区,但是目前在实际生产环境中使用的磁盘空间越来越大,呈TiB级别增长:而常用的fdisk这个工具对分区 ...

  6. android获取系统信息

    连接手机,adb shell 进入 Android Shell 模式,输入 getprop 获取系统属性值 通过上面方法拿到属性名,然后通过下面方法获取到系统的属性值 /** * 获取build.pr ...

  7. SPDK-nvmf与不同传输类型的公共接口

    SPDK-nvmf与不同传输类型的公共接口 不同类型的传输层到nvmf的公共命令请求接口 nvmf_fc_hwqp_handle_request() -->cmd_iu = buffer-> ...

  8. 基于alpine的php-fpm扩展swoole和pdo_mysql

    vim Dockerfile 插入一下内容 FROM php:fpm-alpine RUN echo http://mirrors.aliyun.com/alpine/v3.10/main>/e ...

  9. java简单学生成绩管理系统

    题目要求: 一. 数据结构要求:(5 分) 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishi ...

  10. Oracle VM VirtualBox - 启用 VT-x/AMD-V 支持

    问题描述Oracle VM VirtualBox引入OVF模板时,报错:VT-x/AMD-V 硬件加速已被启用, 但当前处于无效状态. 您虚拟电脑内的操作系统将无法检测到64位的处理器,因此也将无法启 ...