体验 JEP 401 值类和对象

💡 原文英文,约1100词,阅读约需4分钟。
📝

内容提要

Valhalla团队发布了早期访问的JDK构建,全面实现了JEP 401:值类和对象(预览)。值对象是仅包含最终字段且没有身份的类实例,使用值类可提升性能,JVM能够优化这些对象。用户可下载体验这一新特性。

🎯

关键要点

  • Valhalla团队发布了早期访问的JDK构建,全面实现了JEP 401:值类和对象(预览)。
  • 值对象是仅包含最终字段且没有身份的类实例,使用值类可提升性能。
  • 用户可以下载体验这一新特性,访问地址为jdk.java.net/valhalla。
  • 在JShell中,可以使用Objects.hasIdentity来区分值对象和常规身份对象。
  • 值对象在大多数方面表现得像身份对象,但==运算符无法判断两个值对象是否相同。
  • 可以使用value关键字声明自己的值类,许多记录声明都是值类的良好候选。
  • 声明值类的一个原因是语义上的简化,避免不必要的复杂性。
  • JVM可以以无法对常规对象进行的方式优化值对象,例如通过堆扁平化技术。
  • 通过使用值对象,可以在性能关键的计算中实现显著的新优化。
  • 这是测试版软件,可能存在一些错误和意外的性能问题,鼓励用户下载并反馈。
🏷️

标签

➡️

继续阅读