`

定时任务Java编写综述之Java语言级的JDK自带API

阅读更多

定时任务Java编写综述

目前我所用过的定时任务机制主要分三类:OS级的Linux crontab命令方式、Java语言级的JDK自带API、第三方API接口如Quartz(当然,其他MVC框架如Spring基于Quartz实现了更人性化的API接口,此类接口一并归入Quartz类族)。

 

这三种方式相比,OS级不用专门开启监听器,占用系统资源较少,是定时任务首选的实现方式;JDK自带API主要是TimerTimeTask,这些API提供的接口功能简单,往往不能满足用户定时任务设置需要;QuartzJava语言编写的API,其可以单独部署,也可以作为系统的模块嵌入既有代码中,通过开启监听触发定时任务的方式实现,相对而言,特别是用此种方式开辟大量监听很耗资源。

 

下面分别介绍这三种常用的定时任务实现方式。

 

2. Java语言级的JDK自带API

java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks
一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建。

完整的Timer如下:

java.util.Timer timer = new java.util.Timer(true);

【注】true 说明这个timerdaemon方式运行(优先级低,程序结束timer也自动结束),注意,javax.swing 中也有一个Timer类,如果import中用到swing包,要注意名字的冲突。

 

TimerTask task = new TimerTask() {

public void run() {

... //每次需要执行的代码放到这里面。

}

};

 

调度task的方法有:

timer.schedule(task, time);

// timeDate类型:在指定时间执行一次。

 

timer.schedule(task, firstTime, period);

// firstTimeDate类型,periodlong

// firstTime时刻开始,每隔period毫秒执行一次。

 

timer.schedule(task, delay)

// delay long类型:从现在起过delay毫秒执行一次

 

timer.schedule(task, delay, period)

// delaylong,periodlong:从现在起过delay毫秒以后,每隔period

// 毫秒执行一次。

 

完整的例子

由两个类组成,一个定制任务,一个调用java.util.Timer

定制任务:import java.util.Timer;

 

public class TimerTaskTest extends java.util.TimerTask{

public void run() {

// TODO Auto-generated method stub

System.out.println("start");

}

}

 

import java.util.Timer;  

public class TimerTaskTest extends java.util.TimerTask{  

  public void run() {  

   // TODO Auto-generated method stub   

   System.out.println("start");  

}  

}  

 

调用java.util.Timer

import java.util.Timer;

public class Test {

public static void main(String[] args){

Timer timer = new Timer();

timer.schedule(new TimerTaskTest(), 1000, 2000);

}

}

 

import java.util.Timer;  

public class Test {  

public static void main(String[] args){  

   Timer timer = new Timer();  

   timer.schedule(new TimerTaskTest(), 1000, 2000);  

}  

}  

根据上面的介绍,便可以在1秒后,每隔2秒执行一次程序

 

参考文献:http://blog.csdn.net/majian_1987/article/details/8730544

分享到:
评论

相关推荐

    jdk_api_1.8-JAVA中文版API手册

    JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。 jdk1.8新特性 1)Java 8允许我们给接口添加...

    Java JDK API 1.6 官方版下载

    jdk1.6方便别人使用不用从官网上查找,主要用于java开发.JDK Java Development Kit是SunMicrosystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的JavaSDK,本站提供java jdk1.6官方版下载。JDK...

    Java jdk api 1.8_google.CHM JDK API 1.8谷歌翻译中文版在线参考手册

    在JDK API中,`java.util`包是核心的类库之一,包含了大量用于处理集合、日期时间、泛型和并发等任务的类。例如,`ArrayList`和`HashMap`是两种常用的容器,分别用于存储有序和键值对的数据。`Collections`类提供了...

    java/jdk API 文档

    Java JDK API文档是Java开发人员不可或缺的参考资料,它包含了Java平台标准版(Java SE)的所有公共类、接口和方法的详细说明。这份文档是Oracle公司为开发者提供的官方指南,帮助他们理解和使用Java语言及库。在...

    java开发手册 api文档(jdk1.8中文)

    《Java开发手册API文档(JDK1.8中文版)》是Java开发者的重要参考资料,它详细阐述了JDK1.8版本中的各种类库、接口、方法和异常等核心概念,帮助开发者理解和运用Java编程语言进行后端开发。文档内容涵盖广泛,包括...

    JAVA JDK1.6 API中文帮助文档

    **Java JDK1.6 API中文帮助文档概述** Java Development Kit (JDK) 是Java编程语言的核心组成部分,它包含了开发和运行Java应用程序所需的所有工具和库。JDK1.6是Java历史上的一个重要版本,提供了丰富的API(应用...

    java jdk api中文开发文档(免币)

    Java JDK API中文开发文档是Java开发者的重要参考资料,它包含了Java平台标准版(Java SE)的所有公共类、接口和方法的详细信息。这份文档是开发者学习和理解Java编程语言以及其库功能的关键工具。以下是该文档中...

    Java jdk api 1.8中文帮助手册

    Java JDK API 1.8中文帮助手册是Java开发者的重要参考资料,它详尽地列出了Java开发工具包(JDK)1.8版本中的各种类、接口、方法和异常,为编程工作提供了详细的文档支持。这份手册是理解Java 1.8特性和功能的关键,...

    Java API 文档 jdk-17.0.2-doc-all

    Java API文档是Java开发者的重要参考资料,它包含了Java开发工具包(JDK)中的所有类、接口、枚举和注解的详细说明。这份"jdk-17.0.2_doc-all"文档集全面覆盖了Java 17.0.2版本的特性,是理解、学习和使用Java编程...

    java jdk api 中文chm版

    Java JDK API是Java开发者的重要参考资料,它包含了Java标准版(Java SE)的所有公共类、接口、枚举和注解的详细说明。这个"java jdk api 中文chm版"是1.6版本的,是专为中国开发者设计的,用中文进行解释,使得初学...

    java8 JDK1.8 API 英文java帮助文档

    JDK 1.8 API JDK API 1.8.CHM是一款jdk1.8的API帮助文档,可以帮助使用java jdk的用户们通过api及时查找到对应的类,接口,框架等详细信息的帮助手册。JDKAPI1.8chm格式 如果打开不显示内容 可以右键 属性 常规 解除...

    jdk1.8 api 中文文档

    JDK 1.8是Java语言的一个重要版本,它引入了许多新特性,如Lambda表达式、Stream API、默认方法等。 **描述解读:**"java技术文档,jdk 1.8 Api 中文版,java开发工具,编程工具文档" 描述中提到了几个关键点: 1...

    JDK1.7中文版API

    建议官方只收1积分,汉化绝大多数方法与函数只有少数1.7少用方法没有汉化,并含使用案例,jdk api 1.7是一款JAVA1.7中文版的API帮助文档,众所周知JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的...

    Java应用安装包(eclipse+JDK_API+Java反编译)

    Java语言具有功能强大和简单易用两个特征,具有简单性、面向对象、分布式等特点,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。JDK(Java Development Kit)称为Java开发包或Java开发工具...

    JAVA JDK1.8_API(官方下载).zip

    Java Development Kit (JDK) 是Java编程语言的核心组件,它包含了编译器、运行环境、调试工具和其他必要的工具,使得开发者能够创建、测试和部署Java应用程序。JDK 1.8是Oracle公司发布的Java平台标准版的一个重要...

    java_jdk_api

    Java JDK API是Java开发工具包(Java Development Kit)的核心组件,它是Java编程语言的基础,为开发者提供了编写、编译、调试以及运行Java应用程序所需的所有工具和接口。"JDK"这个标签表明我们讨论的是Java开发...

    JDK API 1.8 英文版

    通过阅读和研究《JDK API 1.8 英文版》,开发者不仅可以掌握Java 1.8的关键特性,还能加深对面向对象设计原则的理解,学习如何编写高效、可维护的代码。此外,阅读英文文档也有助于提高专业英语水平,增强与国际开发...

    JDK_API中文版全套离线

    阅读JDK_API中文版,不仅可以深入理解Java 6的各种特性和功能,还可以学习如何高效地使用Java API,从而编写出更加规范、易维护的代码。无论你是初学者还是经验丰富的开发者,这个离线文档都是你日常开发中的得力...

    java_API JDK1.7

    Java API JDK 1.7是Java开发工具集(Java Development Kit)的一个版本,它包含了用于构建和运行Java应用程序所需的类库、编译器和工具。这个版本是在2012年发布的,为开发者提供了大量的新特性和改进,使得Java编程...

    Java jdk api 1.8

    Java JDK API 1.8是Java开发工具包的一个重要组成部分,它是Java编程语言的核心参考文档。JDK(Java Development Kit)包含了开发和运行Java应用程序所需的所有工具和库,包括Java虚拟机(JVM)、编译器(javac)、...

Global site tag (gtag.js) - Google Analytics