`
tianshizhilei
  • 浏览: 79145 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java定时执行程序

    博客分类:
  • java
 
阅读更多

设置定时任务很简单,用Timer类就搞定了。

  一、延时执行
  首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行。代码如下:
  package test;
  import java.util.Timer;
  public class TimeTask {
        public static void main(String[] args){
             Timer timer = new Timer();
             timer.schedule(new Task(), 60 * 1000);
        }
  }
  上面的代码实现了这样一个功能,当TimeTask程序启动以后,过一分钟后执行某项任务。先new一个Timer对象,然后调用它的schedule方法,这个方法有四个重载的方法,这里我们用其中一个,
  public void schedule(TimerTask task,long delay)
  首先,第一个参数
  第一个参数就是我们要执行的任务。
  这是一个TimerTask对象,确切点说是一个实现TimerTask的类的对象,因为TimerTask是个抽象类。上面的代码里面,Task就是我们自己定义的实现了TimerTask的类,因为是在同一个包里面,所以没有显性的import进来。Task类的代码如下
  package test;
  import java.util.TimerTask;
  public class Task extends TimerTask {
          public void run(){
                   System.out.println("定时任务执行");
          }
  }
  我们的Task必须实现TimerTask的方法run,要执行的任务就在这个run方法里面,这里,我们只让它往控制台打一行字。
  第二个参数
  第二个参数是一个long型的值。这是延迟的时间,就是从程序开始以后,再过多少时间来执行定时任务。这个long型的值是毫秒数,所以前面我们的程序里面,过一分钟后执行用的参数值就是 60 * 1000。


  二、循环执行
  设置定时任务的时候,往往我们需要重复的执行这样任务,每隔一段时间执行一次,而上面的方法是只执行一次的,这样就用到了schedule方法的是另一个重载函数
  public void schedule(TimerTask task,long delay,long period)
  前两个参数就不用说什么了,最后一个参数就是间隔的时间,又是个long型的毫秒数(看来java里涉及到时间的,跟这个long是脱不了干系了),比如我们希望上面的任务从第一次执行后,每个一分钟执行一次,第三个参数值赋60 * 1000就ok了。


  三、指定执行时间
  既然号称是定时任务,我们肯定希望由我们来指定任务指定的时间,显然上面的方法就不中用了,因为我们不知道程序什么时间开始运行,就没办法确定需要延时多少。没关系,schedule四个重载的方法还没用完呢。用下面这个就OK了:
  public void schedule(TimerTask task,Date time)
  比如,我们希望定时任务2014年3月20日0时0分执行,只要给第二个参数传一个时间设置为2014年3月20日0时0分的Date对象就可以了。
  有一种情况是,可能我们的程序启动的时候,已经是2014年3月23日了,这样的话,程序一启动,定时任务就开始执行了。


  四、指定时间循环执行
  public void schedule(TimerTask task,Date firstTime,long period)

分享到:
评论

相关推荐

    java 定时执行

    java定时执行程序

    java定时执行sql语句

    通过配置数据库连接信息和要执行的sql语句,可实现定时执行多个sql语句。 所要执行的语句只能是写死的,可支持sqlserver mysql oracle。 配置说明: config/sys.properties 中指定数据库类型及连接信息,执行间隔...

    java定时运行程序执行方法

    每天可以定时执行一个程序,运行方法,也就是相当于定时器一样.好处就是可以比如平常程序访问量数据量方面比较大的时候,耗时间时你可以把它定时某个访问量或数据量小的时间段运行.

    java 定时执行任务 定时关机 定时重启

    使用Java Swing写的一个小程序,用来定时关机、定时重启、定时执行某一个应用程序。执行时调用cmd命令执行的。其他的,就没什么了,最后用exe4j把jar打包成了exe文件,在本地测能用,不知道其他地方是否能用,内部有...

    java、杀死启动进程、定时执行程序、隐藏黑窗口(dos窗口)、线程异常死亡(保活)

    java、杀死启动进程、定时执行程序、隐藏黑窗口(dos窗口)、线程异常死亡(保活):就是java自动重启JBOSS

    Java 应用程序中定时执行任务的定时器框架

    所有类型的 Java 应用程序一般都需要计划重复执行的任务。企业应用程序需要计划每日的日志或者晚间批处理过程。一个 J2SE或者 J2ME 日历应用程序需要根据用户的约定计划闹铃时间。不过,标准的调度类 Timer 和 ...

    每天定时执行 指定时间执行程序

    使用方法,新建java项目,把下载的文件粘贴到src目录下,包名自己改。 运行main方法即可,同样也可以web形式运行。 原理一样。 若不明白,空间留言。

    在 Java 应用程序中定时执行任务.doc

    所有类型的 Java 应用程序一般都需要计划重复执行的任务。企业应用程序需要计划每日的日志或者晚间批处理过程。一个 J2SE 或者 J2ME 日历应用程序需要根据用户的约定计划闹铃时间。不过,标准的调度类 Timer 和 ...

    java定时任务每天执行TimerTask 使用方法

    在 TimerManager 这个类里面,大家一定要注意 时间点的问题。如果你设定在凌晨2点执行任务。但你是在2点以后 ...发生,只能判断一下,如果发布或重启服务的时间晚于定时执行任务的时间,就在此基础上加一天。

    spring整合java quartz实现动态定时任务的前台网页配置与管理

    在实际项目应用中经常会用到定时任务,可以通过quartz和spring的简单配置即可完成,但如果要改变任务的执行时间、频率,废弃任务等就需要改变配置甚至代码需要重启服务器,这里介绍一下如何通过quartz与spring的组合...

    java线程定时启动

    本文档 描述怎样定时 启动一个线程任务 并加了注释 希望对你有帮助

    java定时器的使用

    在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。 对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。

    java Timer 定时每天凌晨1点执行任务

    主要介绍了java Timer 定时每天凌晨1点执行任务的代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

    java程序打成jar包,并在windows和linux下定时执行

    将java程序打成jar包,并将其在windows和linux下定时执行的全过程,以及常见问题的提出和解释,有详细的图解。该java程序是一个从数据库a取得数据并将其插入到数据库b中。

    简易定时执行程序和提醒功能小软件

    4. 将mysql-connector-java-5.1.22放入JDK中,方法见本人博客博文《java数据库编程的前期准备——mysql-connector-java-5.1.22》; 5. 在源包中的TaskDatabases.java中修改user变量和password变量(两者分别为mysql...

    Java微信小程序商城系统源码-.zip

    定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 系统接口:根据业务代码自动生成相。能 小程序用户管理 商

    SQL定时导出数据到Excel

    SQLSERVER定时导出数据到Excel,Word,Access等 包含SQLServer的定时操作

    rabbitmq 可以运行的Java程序

    初步Java中应用 rabbitmq 可以直接运行,包含需要各种jar包

    java应用软件程序设计

    195 第6章 Java C/S结构编程 197 实例67 实现C/S多线程 198 实例68 客户端程序 200 实例69 服务器端程序 201 实例70 C/S结构聊天室 203 实例71 基于C/S的小游戏 209 实例72 应用C/S数据库 237...

    定时检测,重启外部服务demo

    bat脚本定时执行,符合重启条件时,重新启动外部服务,代码内自动关闭本java程序,适应场景代码重启或关闭远程服务

Global site tag (gtag.js) - Google Analytics