java.util.Timer:是否被弃用?
  我在对这个答案的评论中以及有关调度(抱歉,没有引用)的许多其他问题中阅读了java.util.Timer已弃用。  我真的希望没有,因为我使用它作为在Java中安排事情的轻松方式(它很好地工作)。  但如果它被弃用,我会在其他地方看看。  但是,快速浏览1.6版的API文档并没有提到它被弃用的任何内容。  Sun的弃用列表中甚至没有提及它。 
它是否被正式弃用?如果是这样,我应该使用什么?
*另一方面, 如果它不被弃用,人们是否可以阻止这种无辜而且出色的课堂教学?
  [JDK-8154799]在JDK的错误跟踪器中弃用了Timer和TimerTask,并且在2016年年中,JEP 277声明java.util.Timer (和TimerTask )将在JDK 9中弃用。 
几个Java SE API将添加,更新或删除@Deprecated注释。 下面列出了这些更改的一些示例。
[...]
java.util.Timer和TimerTask 但是,在JDK 9发行版中,这些类不被弃用(已弃用的类可以在弃用列表中找到)。
  正如其他人所提到的,不,不会弃用,但我个人总是使用ScheduledExecutorService因为它提供了更丰富的API和更多的灵活性: 
ScheduledExecutorService允许您指定线程数,而Timer总是使用单个线程。 ScheduledExecutorService可以使用一个ThreadFactory来构造,从而允许控制除了名称/守护进程状态(例如,priority, ThreadGroup , UncaughtExceptionHandler )以外的线程方面。 ScheduledExecutorService允许以固定的延迟和固定的速率对任务进行调度。 ScheduledExecutorService接受Callable / Runnable作为其工作单元,这意味着您不需要专门为其使用TimerTask ;  即您可以将相同的Callable实现提交给常规的ExecutorService或ScheduledExecutorService 。   我认为这是一个误解。  Timer类的JavaDoc提到了ScheduledThreadPoolExecutor和笔记,这个类实际上是Timer / TimerTask组合的更多功能的替代品。  没有其他的。  计时器不被弃用。 
JavaDoc,ScheduledThreadPoolExecutor这次的另一个引用:
一个ThreadPoolExecutor,可以额外安排命令在给定延迟后运行,或定期执行。 当需要多个工作线程时,或者需要ThreadPoolExecutor(此类扩展)的附加灵活性或功能时,此类比Timer更适合。
链接地址: http://www.djcxy.com/p/74919.html