JDK中的Timer总结

简介: JDK中的Timer总结

一、背景介绍

最近业务中使用了jdk中的Timer,通过对Timer源码的研究,结合对面向对象的认识,对Timer进行针对性的总结

二、思路&方案

  • 1.Timer关键类图
  • 2.Timer的基本用法
  • 3.结合面向对象的角度进行分析总结

三、过程

1.Timer关键类图

2.Timer的基本用法

import java.util.Timer;
import java.util.TimerTask;
public class Client {
    public static void main(String[] args) {
        Timer timer = new Timer();
        timer.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                System.out.println(11111);
            }
        },0,1000);
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        timer.cancel();
        //这里将Timer置为null,以便于下次再使用必须重新实例化
        timer = null;
    }
}

3.结合面向对象的角度进行分析总结

分析总结见四、总结

四、总结

  • 1.层次很分明;对外通过Timer将TaskQueue和TimerThread包装起来,所有的调用都通过Timer进行
  • 2.TaskQueue和TimerThread为final修饰,并且在Timer实例化之时就存在了,同生共死的关系增加安全性
  • 3.构造函数通过方法多态,将多种可能进行了实现以满足不同场景的需求
  • 4.行为细粒度的划分,使得行为的内聚性更强,复用性更高
  • 5.调用了Timer的canlel()方法该Timer将不可再用,防止Timer一直执行占用资源

五、升华

修炼的境界,看山是山(刚接触的时候,只知道皮毛,用起来还是会出各种问题)、看山不是山(达到了熟练运用,但是对应内部的实现原理还是很模糊)、看山还是山(通过对原理的分析,学习到了设计思想,能够将设计思想运用到各种场景中)

相关文章
|
Java 测试技术 API
Spring-JDK Timer 以及在Spring(4.0以下)中使用JDK Timer
Spring-JDK Timer 以及在Spring(4.0以下)中使用JDK Timer
76 0
|
Java 调度
任务调度(二)——jdk自带的Timer 动态修改任务执行计划
       上一篇博文《任务调度(一)——jdk自带的Timer》中,简单介绍了一下Timer,本文将分享一下如何动态修改Timer制定的计划。        先上代码: package com.
1088 0
|
Java 调度
任务调度(一)——jdk自带的Timer
       说到任务调度,大家可能会想到Quartz框架,但是jdk自带的简单任务调度工具类,反而了解的人并不是很多。我觉得如果你的业务相对简单的话,没必要非得用Quartz等框架,使用Timer完全可以胜任的。
812 0
|
3月前
|
Java
安装JDK18没有JRE环境的解决办法
安装JDK18没有JRE环境的解决办法
375 3
|
4月前
|
Oracle Java 关系型数据库
Mac安装JDK1.8
Mac安装JDK1.8
765 4
|
4月前
|
Java 关系型数据库 MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【8月更文挑战第19天】在Linux上搭建Java Web应用环境,需安装JDK 1.8、Tomcat及MariaDB。本指南详述了使用apt-get安装OpenJDK 1.8的方法,并验证其版本。接着下载与解压Tomcat至`/usr/local/`目录,并启动服务。最后,通过apt-get安装MariaDB,设置基本安全配置。完成这些步骤后,即可验证各组件的状态,为部署Java Web应用打下基础。
62 1
|
28天前
|
Oracle Java 关系型数据库
安装 JDK 时应该注意哪些问题
选择合适的JDK版本需考虑项目需求与兼容性,推荐使用LTS版本如JDK 17或21。安装时注意操作系统适配,配置环境变量PATH和JAVA_HOME,确保合法使用许可证,并进行安装后测试以验证JDK功能正常。
49 1
|
28天前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
61 1
|
4月前
|
Java 开发工具
开发工具系列 之 同一个电脑上安装多个版本的JDK
这篇文章介绍了如何在一台电脑上安装和配置多个版本的JDK,包括从官网下载所需JDK、安装过程、配置环境变量以及如何查看和切换当前使用的JDK版本,并提到了如果IDEA和JDK版本不兼容时的解决方法。
开发工具系列 之 同一个电脑上安装多个版本的JDK