Java SE 18的新版本已经发布,这是其新闻

经过六个月的开发, 甲骨文发布了发布 新版本 JavaSE 18 (标准版),它使用 OpenJDK 开源项目作为参考实现。

在这个新版本的 Java SE 18 中,除了 删除一些不推荐使用的功能,保持兼容性 使用旧版本的 Java 平台,以前编写的大多数 Java 项目在使用新版本运行时将继续保持不变。

Java SE 18的主要新功能

在 Java SE 18 的这个新版本中,默认编码是 UTF-8。 处理字符编码文本数据的 Java API 现在将在所有平台上默认使用 UTF-8,无论系统设置和区域设置如何。 要返回旧行为,在选择编码时考虑系统的区域设置,您可以使用参数“-Dfile.encoding=COMPAT”。

另一个突出的变化是他 重新设计了 java.lang.reflect API 实现 (核心反射),旨在获取有关类的方法、字段和构造函数的信息,以及访问类的内部结构。 api java.lang.反射 本身没有改变,但现在使用标识符实现 模块提供的方法 java.lang.invoke,而不是使用字节码生成器. 允许统一和促进维护实施的更改 java.lang.reflect 和 java.lang.invoke。

除此之外,还提到了 Vector API的第三次初步实现提出,它提供了使用 x86_64 和 AArch64 处理器的向量指令执行向量计算的函数,并允许您同时将运算应用于多个值(SIMD)。 与 HotSpot JIT 编译器中提供的用于自动矢量化标量操作的功能不同,新的 API 允许您显式控制矢量化以进行并行数据处理。

还强调了 添加了一个SPI接口 (服务提供者接口) 解析主机名和 IP 地址, 这允许您在 java.net.InetAddress 中使用与操作系统提供的驱动程序无关的替代解析器。

另一方面,有人提出 Foreign Function & Memory API的第二次初步实现,应用程序可以通过它与 Java 运行时之外的代码和数据进行交互。 新的 API 允许高效调用非 JVM 函数 y 存取存储器 这不是由 JVM 管理的。 例如,您可以在不使用 JNI 的情况下从外部共享库调用函数并访问流程数据。

新增了一个 模式匹配的第二次实验实现 在表达式中 转变,它允许您使用灵活的模板代替“case”标签中的精确值,一次覆盖多个值,这在以前需要繁琐的“if...else”表达式字符串。

套餐包括 com.sun.net.httpserver,其中包括 jwebserver 实用程序和 API 库的实现 从一个简单的 http 服务器 提供静态内容(不支持 CGI 和类似 servlet 的控制器)。 内置的 http 服务器未针对工作负载进行优化,也不支持访问控制或身份验证,因为它主要用于原型设计、调试和测试项目的开发过程。

其他变化 脱颖而出:

  • JavaDoc 支持标签 "@片段» 将工作示例和代码片段嵌入到 API 文档中,可以通过验证工具、语法突出显示和 IDE 集成进行访问。
  • 已弃用并将在将来的版本中删除,完成机制,以及相关方法如 Object.finalize()、Enum.finalize()、Runtime.runFinalization() 和 System.runFinalization()。
  • 垃圾收集器 ZGC(Z垃圾收集器)、SerialGC和ParallelGC 它们支持字符串重复数据删除。

JavaSE 18 被归类为常规支持版本, 更新将在下一个版本之前发布。 长期支持 (LTS) 分支应该是 Java SE 17,它将在 2029 年之前收到更新。

重要的是要记住,从 Java 10 版本开始,项目切换到新的开发流程,这意味着新版本形成的周期更短。 现在正在不断更新的主分支中开发新功能,其中包括已经完成的更改,并且每六个月从这些分支分支以稳定新版本。

获取 Java SE 18

对于那些有兴趣能够测试这个新版本的人,请知道已经为 Linux (x86_64, AArch64)、Windows (x86_64) 和 macOS (x86_64, AArch64) 准备好构建,并且可以获取 从下面的链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。