在应该将Java 9发行版“震撼我们的世界”一年之后,我们实际上一直在等待的LTS版本终于来了
我们知道,大多数开发人员,团队,公司等尚未通过Java 8进行更新。 即使去年发布了模块Java 9,然后在3月又发布了Java 10。
令人震惊的是,虽然并不奇怪,但是去年发布了两个新版本的JDK,并且使用它的人相对较少。 当然,这仅是因为最后两个Java版本没有得到很长的保存期限。 Java 11是自Java 8以来的第一个长期支持(LTS)版本,并且将是未来3年中的最后一个版本。
对于其余版本(非LTS版本),更新仅在开始的6个月内发布,直到下一个版本为止。
什么是Java 11的TL; DR?
长期支持元素是此版本中最重要的游戏改变者之一,特别是对于较大的公司而言。 公用发行版将仅在每个新版本的前6个月内发行,但是高级(付费)支持将在未来3年内提供,如下图所示:
除了向客户提供LTS的Java 11之外,还有其他一些值得注意的更新:
JVM升级
此版本中的大多数JDK增强建议(JEP)都是关于调整和改进JDK本身的性能,并且对开发人员的日常工作影响相对较小。
Eberhard Wolff在最近对JAXenter.com的采访中指出 :“我认为Flight Recorder和低开销的堆分析可能很有趣。 更多的操作功能和对JVM的更好可见性非常有用。 通常,这些功能会被忽略,因为它们不会更改语言,因此与开发人员的相关性较低。”
他提到的Flight Recorder ( JEP 328)将“提供一个用于对Java应用程序和HotSpot JVM进行故障排除的低开销数据收集框架”,并且将在JEP 331中引入低开销堆分析 。
除了这两个JEP,我们还将在此版本中获得2个新的垃圾收集器。 新的Epsilon GC ( JEP 318 )应该是一个完全被动的GC实现,它可以处理内存分配,但实际上不实现任何内存回收机制。 此外, JEP 333引入了实验性 ZGC (可扩展的低延迟垃圾收集器)。
最后,据说新版本的JDK比其先前版本“轻巧”得多,因为许多模块将与平台分离。 Java EE和CORBA模块将被删除,Nashorn JavaScript Engine将被弃用,而Pack200工具和API也将退出。
几乎Java 11中的大多数更改似乎都在从平台上删除内容。
语言变更
关于Java语言工作方式的变化,报告的内容很少。 根据Guillaume Laforge的说法,“ [Java 11中最明显的功能是… 用于声明局部变量的新var语法 ”。 很难与此争论。
JEP 323将“允许在声明隐式类型的lambda表达式的形式参数时使用var”,这是JDK 11中最明显的变化,因为它将对开发人员实际编写代码的方式产生最直接的影响。
基本上,这是很多不同的感觉……
有些人像:
要么
其他更像是:
要么
甚至 ...
同时,我们只是试图提供支持...
最后一件事!
跟踪下一个Java版本的发布时间,并在此处保持有关新功能和更新的最新信息: https : //www.java-countdown.xyz
翻译自: https://www.javacodegeeks.com/2018/10/java-11-make-switch.html