Timer 是 Java 中用于定时任务调度的基础工具类,其底层实现基于 单线程+任务队列 的模型。以下是 Timer 的底层实现原理的详细分析: 一、核心组件 TimerThread 继承自 Thread,是 Timer 的工作线程,负责从队列中提取任务并执行。通过 while (true) 循环持续检查任务队列。 TaskQueue 一个基于 最小堆(优先级队列) 的任务队列,按任务的触发时间(nextExecutionTime)排序。堆顶元素永远是最近要执行的任务。 TimerTask 抽象类,用户任务需继承它并实现 run() 方法。包含任务状态(cancelled、schedu