`
yj10864
  • 浏览: 83885 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

JDK定时器

    博客分类:
  • java
阅读更多

  很多情况下我们需要定时执行一些任务,这就需要用到定时器这个东东,定时器的实现有很多种方式,目前也有很多流行的框架提供了这种功能,今天我们介绍的这种方式是JDK自带的定时器:
  下面以一个示例进行分析:

public calss TaskManager implements ServletContextListener {

    private Timer timer;

    public void contextInitialized(ServletContextEvent arg0) {
      timer = new Timer("任务名称", true);
      timer.schedule(new MyTask(), 0, 1000 * 10); // 10秒钟执行一次
    }

    public void contextDestroyed(ServletContextEvent arg0) {
      timer.cancel(); // 定时器销毁
    }

}

public class MyTask extends TimerTask {
    
    @Override
  public void run() {  
    System.out.println("执行任务......");
    // 这里写你要定期执行的任务
  }
}

 

  TaskManager为监听器,根据timer.schedule()方法中提供的参数定期执行自定义的任务MyTask,MyTask类为自定义任务类,监听器会根据时间设置调用MyTask类中的run()方法。在大型的应用环境中,我们可以将任务定义在另外的类中,比如service等,而在run()方法中调用service的方法。
  另外需要配置web.xml文件,加入<listener>节,示例如下:

<listener>
    <listener-class>包名.TaskManager</listener-class>
</listener>

 

分享到:
评论

相关推荐

    spring+jdk定时器

    Spring框架作为Java领域广泛使用的轻量级框架,提供了与JDK定时器结合以及集成第三方库如Quartz的方式,来实现定时任务。本篇文章将详细探讨“spring+jdk定时器”的实现方式。 首先,我们来看JDK自带的定时器——`...

    jdk定时器调度

    Java中的JDK定时器是基于`java.util.Timer`和`java.util.TimerTask`这两个类实现的,它们提供了在特定时间点或周期性地执行任务的能力。`Timer`类是一个抽象的基类,它负责调度任务的执行,而`TimerTask`则是一个...

    Jdk的Timer 实现定时器

    Java开发工具包(JDK)中的`Timer`类是一个实用工具类,用于调度周期性或一次性任务。在Java编程中,我们经常需要执行一些任务,这些任务需要在特定的时间点或者按照一定的间隔重复执行,例如更新进度条、心跳检测、...

    spring + jdk TimerTask定时器

    Spring框架提供了一套强大的定时任务解决方案,而JDK自带的`TimerTask`类则是实现定时任务的基础工具。本文将深入探讨如何在Spring框架中结合JDK的`TimerTask`来创建和管理定时任务。 ### Spring定时任务简介 ...

    jdk自带定时器使用方法详解

    JDK 自带的定时器(`java.util.Timer` 类)是一种强大的工具,允许开发者安排任务在后台线程中按特定时间或周期性地执行。它为应用程序提供了灵活的调度功能,比如延迟执行、周期性执行等。下面我们将深入探讨 `...

    java-spring经典教材

    - **兼容性**:Spring框架没有重新发明轮子,而是充分利用了现有的技术如多种ORM框架、日志框架、JEE、Quartz 和 JDK定时器等。 #### 三、使用Spring框架的好处 - **POJO支持**:Spring允许开发者使用普通的Java...

    java 定时器

    Java定时器,全称为`java.util.Timer`类和配套的`TimerTask`类,是Java标准库中提供的一种定时执行任务的工具。这个强大的计时器功能强大,尤其适合于批量处理任务,如数据同步、日志清理等场景,因此在IT行业中被...

    定时器软件

    定时器。 使用它,可以定时提醒,你要做的事情。 不过要安装jdk

    JDK8 api 中文版文档教程.zip

    例如,`java.util`包包含了集合框架、I/O流、定时器等常用类,而`java.awt`和`javax.swing`包则包含了图形用户界面相关的组件。 **总结** JDK8 API中文版文档教程是Java开发者的重要参考资料,它详细记录了JDK8的...

    spring 定时器的 .jar包

    在描述中提到的版本问题,`commons-collections-3.2`相对于`3.1`的主要改进可能包括性能优化、bug修复以及对新JDK特性的支持。确保使用最新版本的库可以提高应用程序的稳定性和兼容性。在Spring项目中,通常会将所有...

    jdk11.0.20+tomcat9.0.82+jenkins2.361.1+jmeter5.2+ant1.10.14版本

    JMeter 5.2版本包含了性能提升、新功能和错误修复,如图形结果视图的改进、更灵活的定时器配置等。它可以帮助开发者评估应用在高负载下的性能,找出可能的瓶颈。 5. **Ant 1.10.14**: Apache Ant是一种基于XML的...

    JAVA 定时器及SqlServer和Oracle封装链接数据库.docx

    本文档提供了从JDK安装、Tomcat安装配置、数据库连接以及Java定时器实现的完整流程,适合初学者快速入门。通过详细的步骤说明与示例代码,帮助读者理解每一个环节的关键技术点。特别是对于数据库操作的封装,极大...

    springAop与spring定时器

    基于代理的AOP主要使用JDK动态代理或CGLIB库来创建代理对象,而基于字节码的AOP则使用AspectJ库,可以在编译时或运行时修改字节码来实现切面。 `@Aspect`注解用于定义一个切面,其中可以包含多个通知方法。`@Before...

    Jmeter+Jdk1.8.zip

    **JMeter + JDK1.8 知识点详解** 标题中的 "Jmeter+Jdk1.8.zip" 暗示这是一个包含 JMeter 和 JDK 1.8 的压缩包,这意味着用户可以在这个压缩包中找到运行 JMeter 所需的 Java 运行环境以及 JMeter 工具本身。JMeter...

    spring定时器相关资料

    它允许开发者在应用中安排周期性任务的执行,无需直接依赖底层的调度实现,如 Quartz 或者 JDK 的 Timer。接下来,我们将深入探讨Spring定时器的相关知识点。 一、Spring定时器基础 1. **TaskExecutor接口**:这是...

    桌面闹钟应用程序(定时器)

    桌面闹钟提醒!小应用程序 java JDK,jmf

    Spring定时器与动态代理实例

    此时,可以利用Java的动态代理(如JDK Proxy或CGLIB)在运行时为任务类生成代理,拦截并扩展方法调用。 4. **CGLIB动态代理** - **CGLIB简介**:CGLIB是一个强大的高性能的代码生成库,它在许多AOP框架中被使用,...

    Java定时更新数据—定时器

    某个功能执行需要的时间比较长,则决定采用定时器的方式,每隔一段时间系统自动执行此功能,当界面真正触发时,只需要简单的读取结果,而不需要执行复杂的逻辑判断.那如何实现此功能呢?要想实现它,首先我们需要...

    java定时器(定时任务)

    - `ScheduledExecutorService` 是 Java Concurrency API(JDK 5.0 引入)的一部分,提供了更强大、更灵活的定时任务管理能力。 - 通过实现此接口的类,如 `ScheduledThreadPoolExecutor`,可以创建一个线程池,...

    java8集合源码-java:JDK8新特性

    java8集合源码定时器和定时器任务 定时器是线程调度任务以在后台线程中执行的工具。 任务可以安排为一次性执行,或定期重复执行。 与每个 Timer 对象相对应的是一个单独的后台线程,用于按顺序执行所有计时器的任务...

Global site tag (gtag.js) - Google Analytics