定时任务Java编写综述
目前我所用过的定时任务机制主要分三类:OS级的Linux crontab命令方式、Java语言级的JDK自带API、第三方API接口如Quartz(当然,其他MVC框架如Spring基于Quartz实现了更人性化的API接口,此类接口一并归入Quartz类族)。
这三种方式相比,OS级不用专门开启监听器,占用系统资源较少,是定时任务首选的实现方式;JDK自带API主要是Timer和TimeTask,这些API提供的接口功能简单,往往不能满足用户定时任务设置需要;Quartz是Java语言编写的API,其可以单独部署,也可以作为系统的模块嵌入既有代码中,通过开启监听触发定时任务的方式实现,相对而言,特别是用此种方式开辟大量监听很耗资源。
下面分别介绍这三种常用的定时任务实现方式。
2. Java语言级的JDK自带API
java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。
一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建。
完整的Timer如下:
java.util.Timer timer = new java.util.Timer(true);
【注】true 说明这个timer以daemon方式运行(优先级低,程序结束timer也自动结束),注意,javax.swing 中也有一个Timer类,如果import中用到swing包,要注意名字的冲突。
TimerTask task = new TimerTask() {
public void run() {
... //每次需要执行的代码放到这里面。
}
};
调度task的方法有:
timer.schedule(task, time);
// time为Date类型:在指定时间执行一次。
timer.schedule(task, firstTime, period);
// firstTime为Date类型,period为long
// 从firstTime时刻开始,每隔period毫秒执行一次。
timer.schedule(task, delay)
// delay 为long类型:从现在起过delay毫秒执行一次
timer.schedule(task, delay, period)
// delay为long,period为long:从现在起过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是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。 jdk1.8新特性 1)Java 8允许我们给接口添加...
jdk1.6方便别人使用不用从官网上查找,主要用于java开发.JDK Java Development Kit是SunMicrosystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的JavaSDK,本站提供java jdk1.6官方版下载。JDK...
Java JDK API文档是Java开发人员不可或缺的参考资料,它包含了Java平台标准版(Java SE)的所有公共类、接口和方法的详细说明。这份文档是Oracle公司为开发者提供的官方指南,帮助他们理解和使用Java语言及库。在...
在JDK API中,`java.util`包是核心的类库之一,包含了大量用于处理集合、日期时间、泛型和并发等任务的类。例如,`ArrayList`和`HashMap`是两种常用的容器,分别用于存储有序和键值对的数据。`Collections`类提供了...
《Java开发手册API文档(JDK1.8中文版)》是Java开发者的重要参考资料,它详细阐述了JDK1.8版本中的各种类库、接口、方法和异常等核心概念,帮助开发者理解和运用Java编程语言进行后端开发。文档内容涵盖广泛,包括...
**Java JDK1.6 API中文帮助文档概述** Java Development Kit (JDK) 是Java编程语言的核心组成部分,它包含了开发和运行Java应用程序所需的所有工具和库。JDK1.6是Java历史上的一个重要版本,提供了丰富的API(应用...
Java JDK API中文开发文档是Java开发者的重要参考资料,它包含了Java平台标准版(Java SE)的所有公共类、接口和方法的详细信息。这份文档是开发者学习和理解Java编程语言以及其库功能的关键工具。以下是该文档中...
Java JDK API 1.8中文帮助手册是Java开发者的重要参考资料,它详尽地列出了Java开发工具包(JDK)1.8版本中的各种类、接口、方法和异常,为编程工作提供了详细的文档支持。这份手册是理解Java 1.8特性和功能的关键,...
Java API文档是Java开发者的重要参考资料,它包含了Java开发工具包(JDK)中的所有类、接口、枚举和注解的详细说明。这份"jdk-17.0.2_doc-all"文档集全面覆盖了Java 17.0.2版本的特性,是理解、学习和使用Java编程...
Java JDK API是Java开发者的重要参考资料,它包含了Java标准版(Java SE)的所有公共类、接口、枚举和注解的详细说明。这个"java jdk api 中文chm版"是1.6版本的,是专为中国开发者设计的,用中文进行解释,使得初学...
JDK 1.8 API JDK API 1.8.CHM是一款jdk1.8的API帮助文档,可以帮助使用java jdk的用户们通过api及时查找到对应的类,接口,框架等详细信息的帮助手册。JDKAPI1.8chm格式 如果打开不显示内容 可以右键 属性 常规 解除...
建议官方只收1积分,汉化绝大多数方法与函数只有少数1.7少用方法没有汉化,并含使用案例,jdk api 1.7是一款JAVA1.7中文版的API帮助文档,众所周知JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的...
JDK 1.8是Java语言的一个重要版本,它引入了许多新特性,如Lambda表达式、Stream API、默认方法等。 **描述解读:**"java技术文档,jdk 1.8 Api 中文版,java开发工具,编程工具文档" 描述中提到了几个关键点: 1...
Java语言具有功能强大和简单易用两个特征,具有简单性、面向对象、分布式等特点,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。JDK(Java Development Kit)称为Java开发包或Java开发工具...
Java Development Kit (JDK) 是Java编程语言的核心组件,它包含了编译器、运行环境、调试工具和其他必要的工具,使得开发者能够创建、测试和部署Java应用程序。JDK 1.8是Oracle公司发布的Java平台标准版的一个重要...
Java JDK API是Java开发工具包(Java Development Kit)的核心组件,它是Java编程语言的基础,为开发者提供了编写、编译、调试以及运行Java应用程序所需的所有工具和接口。"JDK"这个标签表明我们讨论的是Java开发...
通过阅读和研究《JDK API 1.8 英文版》,开发者不仅可以掌握Java 1.8的关键特性,还能加深对面向对象设计原则的理解,学习如何编写高效、可维护的代码。此外,阅读英文文档也有助于提高专业英语水平,增强与国际开发...
阅读JDK_API中文版,不仅可以深入理解Java 6的各种特性和功能,还可以学习如何高效地使用Java API,从而编写出更加规范、易维护的代码。无论你是初学者还是经验丰富的开发者,这个离线文档都是你日常开发中的得力...
Java API JDK 1.7是Java开发工具集(Java Development Kit)的一个版本,它包含了用于构建和运行Java应用程序所需的类库、编译器和工具。这个版本是在2012年发布的,为开发者提供了大量的新特性和改进,使得Java编程...
Java JDK API 1.8是Java开发工具包的一个重要组成部分,它是Java编程语言的核心参考文档。JDK(Java Development Kit)包含了开发和运行Java应用程序所需的所有工具和库,包括Java虚拟机(JVM)、编译器(javac)、...