用java实现倒计时功能

Java的12进入发行候选阶段本月初,所以它应该是从 那里 一帆风顺 。 距此次盛大的发布还有一个月的时间,所以现在该看看所有计划中的新功能了。

Java 11于2018年9月发布,但即使我们对Oracle新的六个月周期中的第一个LTS版本仍然感到非常兴奋,但这并不意味着我们不应该为即将发布的版本感到兴奋,这带来了很多有趣的功能。

Java 12功能

189:

添加一个名为Shenandoah的新垃圾收集(GC)算法,该算法通过与正在运行的Java线程同时进行疏散工作来减少GC暂停时间。 Shenandoah的暂停时间与堆大小无关,这意味着无论堆是200 MB还是200 GB,您都将具有相同的一致暂停时间。

230:微

在JDK源代码中添加基本的微基准套件,使开发人员可以轻松地运行现有的微基准并创建新的微基准。

325:

扩展switch语句,以便可以将其用作语句或表达式,并且两种形式都可以使用“传统”或“简化”作用域并控制流的行为。 这些更改将简化日常编码,并为在交换机中使用模式匹配(JEP 305)做准备。 这将是预览语言功能。

334:

引入一个API,以对关键类文件和运行时工件的名义描述进行建模,尤其是可从常量池中加载的常量。

340:

删除所有与arm64端口相关的源,同时保留32位ARM端口和64位aarch64端口。

341:

增强JDK生成过程,以使用默认的类列表在64位平台上生成类数据共享(CDS)存档。

344:

如果G1混合集合可能超出暂停目标,则使它们可中止。

346:

增强G1垃圾收集器,使其在空闲时自动将Java堆内存返回到操作系统。

Java 12没有原始字符串文字

应当指出, 原始字符串文字功能是从Java 12中撤回的。

尽管如此,有关功能及其功能的讨论仍在继续。 就在上个月,Brian Goetz用一封发送到邮件列表的新消息重新激发了有关原始字符串文字的讨论,涉及许多主题,包括过程错误,其他语言如何处理原始字符串,下一步应该做什么。

请务必查看消息以获取所有详细信息。

预览功能机制旨在用于高度确信该功能已“完成”的功能,并且在将该功能永久化之前进行重大更改的可能性很小。 此时,经过广泛考虑,吉姆和我不再相信这种情况了,我们认为让其预览当前状态将损害语言。 我们当然对这令人失望感到失望,这意味着将该功能转化为语言需要花费更长的时间,但是我们认为这是最佳选择。

– Oracle Java语言架构师Brian Goetz

您是否对六个月的发布周期感到厌倦?

两次发布之间只有六个月的时间,有人会惊讶于新的Java版本将完全只包含一些功能吗? 当它出现时,当没有人对此感到特别兴奋时,有人会感到惊讶吗?

现在该重新审视一篇文章,JNBridge,LLC的首席技术官兼联合创始人Wayne Citrin博士在一年前写了关于释放疲劳的文章:

看,我明白了:Java 8发布三年之后,人们才开始感到沮丧,Oracle 9受到了应有的热度。 但是我认为钟摆朝另一个方向摆动得太远了。 每六个月发布一次,我们将获得新发布的版本,其中包含一些次要的新功能,这些新功能鲜为人知,很少有人在意。 如果旧的两年周期太慢,为什么不通过分开差额并采用一年周期来缓解释放疲劳呢?

在此处阅读全文。

首先看一下Java 13

我们距离Java 12的普遍可用性只有一个月的时间,但是已经是前进的时候了! Java 13的开发存储库现已打开。 最重要的是,已经有两名JEP候选人:

  • 348: 用于JDK API的Java编译器内在函数

简介:使Java编译器能够使用替代转换策略,例如invokedynamic ,以提高某些被指定为编译器固有候选者的 JDK方法的性能。 具体来说,应激发String::format和Objects::hash的调用。

目标:使JDK开发人员能够(i)将方法标记为编译时内在化的候选者,并且(ii)描述符合候选方法规范的内在化候选者的适当替代翻译。

  • 349: JFR事件流

摘要:公开JDK Flight Recorder数据以进行连续监视。

目标:

  • 提供一个API,用于在进程内和进程外应用程序中连续使用磁盘上的JFR数据。
  • 记录与non-streaming.case相同的事件集,如果可能,开销小于1%。
  • 事件流必须能够与基于磁盘和内存的非流记录共存。

确保遵循此线程以跟上与Java 13相关的所有内容!

翻译自: https://jaxenter.com/countdown-java-12-begun-overview-155751.html

用java实现倒计时功能