61

Java 11已经发布

 5 years ago
source link: http://www.infoq.com/cn/news/2018/10/java11-released?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Java 11终于推出了,它是Oracle在推行LTS(长期支持,Long-Term Support)后首个按计划推出的版本。虽然Oracle出于缩小旧版本模型和新方法间差距的考虑,也将早期的Java 8纳入到LTS发布中。

与InfoQ今年早期的报道相比,新版本的特性列表发生了巨大的变化。Java 11中的新特性主要包括:

  • 基于嵌套的访问控制(即“Nestmates”):重新审视了内部类的实现方式,编译器无需插入桥接(Bridge)方法。
  • 动态类文件常量(即“Condy”):降低了代价,无需新建物化的类文件常量。Condy将提高性能,并提供新的平台方法。
  • ZGC(实验性):ZGC是一种全新的垃圾回收器(GC),设计在最高付出15%性能牺牲代价的情况下,实现低于10毫秒的暂停时间(即便对于大型堆)。
  • 黑匣子(Flight Recorder):一种低代价的数据采集框架,用于为Java应用和HotSpot JVM提供查错。黑匣子在前期版本中是一个商业特性,在新版本中开源提供。
  • 新的标准HTTP软件库:新模块java.net.http实现了API孵化的标准化,支持基于流的HTTP/1.1和HTTP/2。
  • TLS 1.3:实现了最近标准化的新版本传输层安全协议(TLS,Transport Layer Security)。
  • Lambda参数的本地变量语法:更新了Labmda语法,支持使用Java 10引入的var类型推理。

为精简Java核心产品,新版本还清理了一些旧特性:

  • Java EE和CORBA模块:如果应用需要EE和CORBA模块,那么应用需明确指明对这些模块的依赖。
  • Web Start:完全清除,不提供替代特性。
  • Applets:在大多数情况下严重推荐不使用,最终将被清理。
  • JavaFX:FX软件库已经迁移到OpenJFX项目,并从核心中移除。

译注: 自JavaFX于2012年开源并为OpenJDK项目下的OpenJFX子项目之后,它就已不再是Java SE的组成部分。这意味着OpenJFX的API将不再遵循JSR。由Oracle创建并分支的OpenJDK二进制版本Oracle JDK 11已正式宣称移除了JavaFX,但JavaFX依然是OpenJDK项目的组成部分。自2012年以后,如果OpenJDK开发人员想要构建或运行JavaFX应用,那么必须要额外下载OpenJFX,因为OpenJDK中并未包括OpenJFX。)

需特别指出的是,EE模块中包括对JAXB和SOAP的支持,这两个组件在很多企业中依然广为使用。对于已升级到新版本的开发团队,应该做一些仔细的检查,已确认是否需要针对这些改进修改构建脚本。

Oracle Java平台组软件开发副总Georges Saab对Java的新LTS模型做出如下评价:

LTS版本发布模型支持我们的客户按自己的节奏在受良好支持的Java SE LTS发布版本间的迁移,同时也支持Java开发人员生态系统更快地接触到最新改进。

InfoQ今年早期提供的一个幻灯片 中,给出了一些新特性的例子。 在InfoQ对ByteBuddy创始人Rafael Winterhalter的采访中 ,谈及了包括Condy和Nestmates在内的一些类文件新格式上的改进。

Oracle将在官方网站下载频道 和其它软件提供商处提供Java 11的下载。但目前为止,官网下载频道尚未更新。Java 11的支持模型不同于前期版本, InfoQ曾详细报道了新模型的一些细节情况

查看英文原文: Java 11 Released


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK