jdk8 获取上一个月时间_JDK 10:FutureTask获取一个toString()

jdk8 获取上一个月时间

我已经很长时间了,对于大多数具有独特属性的Java类,开发人员应该花些时间重写Object.toString() ,即使它仅是由IDE生成的实现或使用诸如Apache之类的库类来实现Commons LangToStringBuilder 。 如果要手动实现toString ,则重载的Objects.toString() 方法比以往更容易实现。 J2SE 5 引入的JDK类FutureTask最终在JDK 10中获得了自己的toString()实现

理查德·尼科尔斯Richard Nichols )在2012年发表的文章“ 如何获取Java执行程序的运行任务… ”突出显示了FutureTask类上toString()方法的省略。 他写了:


该API不包含任何方式收集有关内部事件的信息,这似乎很奇怪。
执行器 ,甚至没有
toString()实现,用于包装类似的类
FutureTask会冒泡您
可运行
可调用
toString()方法。

Nichols的帖子是在他的观察的背景下得出的:“在运行时实际上很难公开……Java的Executor在任何时间点实际上正在做什么。”

发行JDK-8186326 [“使“任务”对象的toString()方法更有用”]讨论了如何将FutureTask toString()CompletableFuture的对齐,该问题指出“已经有一个有用的toString方法 ,给出了当前状态。” 2017年末的一个电子邮件线程记录了有关在FutureTask和其他“ juc中的任务类”( java.util.concurrent )中添加toString()的讨论。

Javadoc注释了新的FutureTask.toString()方法状态,“默认实现返回一个标识此FutureTask的字符串及其完成状态。 括号中的状态包含字符串“ Completed Normally ”,“ Completed Exceptionally ”,“ Cancelled ”或“ Not completed ”之一。” FutureTasktoString()的这四个潜在完成状态中的三个也可能作为CompletableFuturetoString()一部分来编写[“ Cancelled ”是例外)。

在JDK 10中,将toString()的特定实现添加到FutureTask类中只是一小部分。 但是,对于开发人员“如诊断JDK-8186326的“问题”语句中所述,在诊断应用程序故障时盯着“任务”对象(Runnables,Callables,Future)的toString的输出”,此“少量”添加可能是非常欢迎。

翻译自: https://www.javacodegeeks.com/2018/02/jdk-10-futuretask-gets-tostring.html

jdk8 获取上一个月时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值