Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8256699





      These notes describe important changes, enhancements, removed APIs and features, deprecated APIs and features, and other information about JDK 16 and Java SE 16. In some cases, the descriptions provide links to additional detailed information about an issue or a change. This page does not duplicate the descriptions provided by the Java SE 16 ( JSR 391) Platform Specification, which provides informative background for all specification changes and might also include the identification of removed or deprecated APIs and features not described here. The Java SE 16 ( JSR 391) specification provides links to:

      - **Annex 1:** The complete [Java SE 16 API Specification](https://cr.openjdk.java.net/~iris/se/16/latestSpec//api/index.html).

      - **Annex 2:** An [annotated API specification](https://cr.openjdk.java.net/~iris/se/16/latestSpec/apidiffs/overview-summary.html) showing the exact differences relative to Java SE 16. Informative background for these changes may be found in the list of approved Change Specification Requests for this release.

      - **Annex 3:** Java SE 16 Editions of [The Java Language Specification](https://cr.openjdk.java.net/~iris/se/16/latestSpec/java-se-16-annex-3.html) and [The Java Virtual Machine Specification](https://cr.openjdk.java.net/~iris/se/16/latestSpec/java-se-16-annex-3.html). The Java SE 16 Editions contain all corrections and clarifications made since the Java SE 15 Editions, as well as additions for new features.

      You should be aware of the content in that document as well as the items described in this page.

      The descriptions on this Release Note page also identify potential compatibility issues that you might encounter when migrating to JDK 16. The [Kinds of Compatibility](https://wiki.openjdk.java.net/display/csr/Kinds+of+Compatibility) page on the OpenJDK wiki identifies three types of potential compatibility issues for Java programs used in these descriptions:

      - **Source:** Source compatibility preserves the ability to compile existing source code without error.

      - **Binary:** Binary compatibility is defined in The Java Language Specification as preserving the ability to link existing class files without error.

      - **Behavioral:** Behavioral compatibility includes the semantics of the code that is executed at runtime.

      See [CSRs Approved for JDK 16](https://bugs.openjdk.java.net/issues/?filter=39068) for the list of CSRs closed in JDK 16 and the [Compatibility & Specification Review (CSR)](https://wiki.openjdk.java.net/display/csr/Main) page on the OpenJDK wiki for general information about compatibility.

      **IANA Data 2020d**

      JDK 16 contains IANA time zone data version 2020d. For more information, refer to [Timezone Data Versions in the JRE Software](https://www.oracle.com/java/technologies/tzdata-versions.html).


          Issue Links



              cwayne Clifford Wayne
              cwayne Clifford Wayne
              0 Vote for this issue
              1 Start watching this issue