java 定时开始执行程序

package com.zx.ps.web.gzdb;

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class ckx {
    //初始化计数
    static int count = 0;

    public static void showTimer() {
        final Timer timer = new Timer();
        //创建定时器任务
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                ++count;
                System.out.println("时间=" + new Date() + " 执行了" + count + "次"); // 1次
                switch (count) {
                case 3:
                    timer.cancel();
                    System.out.println("规定时间运行三次结束定时任务!");
                    break;
                }
            }
        };

        //设置执行时间
        Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        int day = calendar.get(Calendar.DAY_OF_MONTH);//每天
        //定制每天的11:40:00执行,
        calendar.set(year, month, day, 11, 58, 00);
        Date date = calendar.getTime();

        int period = 30 * 1000;
        //每天的date时刻执行task,每隔30秒重复执行
        timer.schedule(task, date, period);
        //每天的date时刻执行task, 仅执行一次
        //timer.schedule(task, date);
    }

    public static void main(String[] args) {
        showTimer();
    }
}
时间: 2024-07-30 17:21:25

java 定时开始执行程序的相关文章

Java 定时循环运行程序

Timer 和 ScheduledExecutorSeruvce 都能执行定时的循环任务,有函数 scheduleAtFixedRate.但是,如果任务运行时间较长,超过了一个周期时长,下一个任务就会被延缓执行. 例如代码: public class ScheduledRunnableTest extends TimerTask { public void run() { try { Thread.sleep(2000); System.out.println(new Timestamp(Sys

JAVA定时执行任务,每天定时几点钟执行任务

JAVA定时执行任务,每天定时几点钟执行任务的示例如下: 1.建立TimerManage类,设置时间点,时间点设置的管理类,代码如下: 1 package com.pcitc.time; 2 3 import java.util.Calendar; 4 import java.util.Date; 5 import java.util.Timer; 6 7 public class TimerManager { 8 9 //时间间隔 10 private static final long PE

JAVA定时任务调度之Timer入门详解(二)

在上篇的JAVA定时任务调度之Timer入门详解(一)文章中,主要介绍了下Timer,接下来我们一起来看看Timer的一些常用方法. 1.schedule()的4种用法. 第一种:schedule(TimerTask task, Date time); task:安排的任务,time:具体执行时间.这个函数表达的意义是:在时间等于或超过time的时候执行且执行一次task.测试内容如下 MyTimerTask.java的代码跟第一篇一样,MyTimer.java的部分代码截图如下: 运行后,控制

java定时执行程序

从某一时刻开始执行,每隔多长时间执行一次. private static void test3() { Calendar twentyOne = Calendar.getInstance();         twentyOne.set(Calendar.HOUR_OF_DAY, 18);         twentyOne.set(Calendar.MINUTE, 9);         twentyOne.set(Calendar.SECOND, 0);         new Timer(

java命令行执行程序解决依赖外部jar包的问题

用java命令行直接执行程序,如果这个程序需要引用外部jar包.就不能单纯用java xx来执行 如果你的jar包和程序就在一个目录: 编译 javac -cp D:\yy\yy.jar,D\xx\xx.jar test.java 执行 java -cp D:\yy\yy.jar,D\xx\xx.jar test 但是往往我们依赖的包很多,要一个个填写估计就疯了.所有我们一般会把所有的外部依赖包都放在一个文件夹里,比如在D:\lib 编译 javac -Djava.ext.dirs=D:\lib

Java定时调度任务的实现

有时候,我们希望程序在将来的某一时刻执行,也有想过让它可以重复执行多次! 于是,我们就需要实现定时调度功能. 在java里,由两个类来共同实现定时调度:java.util.Timer 和 java.util.TimerTask Timer可以理解为有且只有一个后台线程对多个业务线程进行定时定频率调度 TimerTask可以理解为业务逻辑的编写 即:Timer按照一定的时间频率调度TimerTask里面的业务逻辑. 下面,通过实现怎么让程序在2秒后执行,来说明实现Timer调度的代码编写: Tim

java 定时检测服务器端口状态方法(一)

最近在写运维管理平台的定时检测集群中各台服务器端口开放状态来判断进程状态的定时任务.顺便整理了下java如何检测服务器一个或者多个端口,以及如何加到定时任务中. 一.java中用Socket检测服务器一个端口开放状态.(对socket不太了解,只是最近用才简单看了下) Socket的英文原义是"孔"或"插座".作为BSD UNIX的进程通信机制,取后一种意思.通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.在Internet上的

Java定时任务调度详解

前言 在实际项目开发中,除了Web应用.SOA服务外,还有一类不可缺少的,那就是定时任务调度.定时任务的场景可以说非常广泛,比如某些视频网站,购买会员后,每天会给会员送成长值,每月会给会员送一些电影券:比如在保证最终一致性的场景中,往往利用定时任务调度进行一些比对工作:比如一些定时需要生成的报表.邮件:比如一些需要定时清理数据的任务等.本篇博客将系统的介绍定时任务调度,会涵盖Timer.ScheduledExecutorService.开源工具包Quartz,以及Spring和Quartz的结合

Java定时启动线程

这里提供两种在指定时间后启动线程的方法.一是通过java.util.concurrent.DelayQueue实现:二是通过java.util.concurrent.ScheduledThreadPoolExecutor实现.1. java.util.concurrent.DelayQueue类DelayQueue是一个无界阻塞队列,只有在延迟期满时才能从中提取元素.它接受实现Delayed接口的实例作为元素.<<interface>>Delayed.java package ja