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
67 0
|
Java 调度
任务调度(二)——jdk自带的Timer 动态修改任务执行计划
       上一篇博文《任务调度(一)——jdk自带的Timer》中,简单介绍了一下Timer,本文将分享一下如何动态修改Timer制定的计划。        先上代码: package com.
1074 0
|
Java 调度
任务调度(一)——jdk自带的Timer
       说到任务调度,大家可能会想到Quartz框架,但是jdk自带的简单任务调度工具类,反而了解的人并不是很多。我觉得如果你的业务相对简单的话,没必要非得用Quartz等框架,使用Timer完全可以胜任的。
798 0
|
2月前
|
Oracle Java 关系型数据库
入职必会-开发环境搭建41-Linux软件安装-安装JDK
本文介绍了在Linux系统中下载和安装JDK
入职必会-开发环境搭建41-Linux软件安装-安装JDK
|
24天前
|
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应用打下基础。
36 1
|
27天前
|
Oracle Java 关系型数据库
Mac安装JDK1.8
Mac安装JDK1.8
257 4
|
2月前
|
Java Linux
Linux复制安装 jdk 环境
Linux复制安装 jdk 环境
43 3
|
21天前
|
Java 开发工具
开发工具系列 之 同一个电脑上安装多个版本的JDK
这篇文章介绍了如何在一台电脑上安装和配置多个版本的JDK,包括从官网下载所需JDK、安装过程、配置环境变量以及如何查看和切换当前使用的JDK版本,并提到了如果IDEA和JDK版本不兼容时的解决方法。
开发工具系列 之 同一个电脑上安装多个版本的JDK
|
8天前
|
Oracle Java iOS开发
JDK的选型、安装与配置
JDK的选型、安装与配置