Thanks for the update, Rik!

--David

From: Rick Hillegas <rick.hille...@gmail.com>
Date: Sunday, 28 January 2024 at 14:32
To: derby-dev@db.apache.org <derby-dev@db.apache.org>, David Delabassee 
<david.delabas...@oracle.com>
Subject: [External] : Re: JDK 22 RDP2 & Deprecate sun.misc.Unsafe Memory-Access 
Methods…
Thanks, David. Derby found no problems with build 22-ea+33-2356. See
https://urldefense.com/v3/__https://issues.apache.org/jira/browse/DERBY-7159__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-IzJtTi8$<https://urldefense.com/v3/__https:/issues.apache.org/jira/browse/DERBY-7159__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-IzJtTi8$>

On 1/26/24 3:11 AM, David Delabassee wrote:
> Greetings!
>
> We are starting 2024 with JDK 22 as it has just entered Rampdown Phase 2 [1]. 
> And with the initial JDK 22 Release Candidates now less than 2 weeks away 
> (Feb. 8th) [2], it is time to shift our attention to JDK 23.
>
> After multiple rounds of incubations and preview, the Foreign Function & 
> Memory API is becoming standard and permanent in JDK 22. If we put its 
> 'Function' angle aside, this API also offers a standard and secure way to 
> access off-heap API. And that brings us to the heads-up below 'Deprecate the 
> memory-access methods in sun.misc.Unsafe for removal in a future release' as 
> developers still using sun.misc.Unsafe for accessing memory are strongly 
> encouraged to start preparing their plans to migrate away from those unsafe 
> methods.
>
> [1] https://mail.openjdk.org/pipermail/jdk-dev/2024-January/008675.html
> [2] https://openjdk.org/projects/jdk/22/
>
>
> ## Heads-up: Deprecate the Memory-Access Methods in sun.misc.Unsafe for 
> Removal in a Future Release
>
> The effort focused on enforcing the integrity of the Java platform [3] 
> continues! The next phase in that long but important initiative will most 
> likely target the sun.misc.Unsafe API used for accessing memory. Those 
> methods alone represent 79 methods out of the 87 sun.misc.Unsafe methods!
>
> This draft JEP [4] outlines the plan to deprecate for removal the 
> sun.misc.Unsafe Memory-Access methods, the reasons, and the standard 
> alternatives. As the draft plan suggests, the first step will be to deprecate 
> all memory-access methods (on-heap, off-heap, and bimodal) for removal. This 
> will cause compile-time deprecation warnings for code that refers to the 
> methods, alerting library developers to their forthcoming removal. In 
> addition, a new command-line option will allow users to receive runtime 
> warnings when those methods are used. This command-line will help users to 
> assess if their codebase uses those unsafe API to access memory. It should be 
> mentioned that other tools such as JFR and jdeprscan can also be used to 
> detect the use of those deprecated APIs.
>
> Library developers are strongly encouraged to migrate from sun.misc.Unsafe to 
> the supported replacements, so that applications can migrate smoothly to 
> modern JDKs. The initial step will be to conduct investigations to understand 
> if, how, and where sun.misc.Unsafe methods are used to access memory.
>
> [3] https://openjdk.org/jeps/8305968
> [4] https://openjdk.org/jeps/8323072
>
>
> ## Heads-up: Java Array Element Alignment - Weakening of Some Methods 
> Guarantees ?
>
> Some methods make promises about Java array element alignment that are too 
> strong. There are some ongoing reflexions to change the implementation (and 
> the specification) of `MethodHandles::byteArrayViewVarHandle`, 
> `MethodHandles::byteBufferViewVarHandle`, `ByteBuffer::alignedSlice`, and 
> `ByteBuffer::alignmentOffset` to weaken the guarantees they make about the 
> alignment of Java array elements, in order to bring them in line with the 
> guarantees made by an arbitrary JVM implementation.
>
> For more details, make sure to check JDK-8320247 [5] and the related PR [6] 
> but in a nutshell, the new behaviour would be :
> - The `VarHandle` returned by `MethodHandles::byteArrayViewVarHandle` would 
> only support `get` and `set` methods, and all other access methods would 
> throw an exception.
> - The `VarHandle` returned by `MethodHandles::byteBufferViewHandle` would 
> only support the `get` and `set` access methods when a heap buffer is used, 
> and all other access methods would throw an exception when used with a heap 
> buffer. Direct byte buffers will continue to work the same way.
> - The `ByteBuffer::alignmentOffset` and `ByteBuffer::alignedSlice` methods 
> would throw an exception if the buffer is a heap buffer, and the given 
> `unitSize` is greater than 1.
>
> If you have relevant feedback about this potential change, please make sure 
> to bring it to the core-libs-dev mailing list [7], or comment on the PR [6].
>
> [5] https://bugs.openjdk.org/browse/JDK-8320247
> [6] 
> https://urldefense.com/v3/__https://github.com/openjdk/jdk/pull/16681__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-LF0K0lN$<https://urldefense.com/v3/__https:/github.com/openjdk/jdk/pull/16681__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-LF0K0lN$>
> [7] https://mail.openjdk.org/pipermail/core-libs-dev/
>
>
> ## JDK 22 Early-Access Builds
>
> JDK 22 Early-Access builds 33 are now available [8], and are provided under 
> the GNU General Public License v2, with the Classpath Exception. The Release 
> Notes [9] and the javadocs [10] are also available.
>
> ### Changes in recent JDK 22 builds that may be of interest:
>
> - JDK-8320597: RSA signature verification fails on signed data that does not 
> encode params correctly [Reported by Apache POI]
> - JDK-8322214: Return value of XMLInputFactory.getProperty() changed from 
> boolean to String in JDK 22 early access builds [Reported by Apache POI]
> - JDK-8322725: (tz) Update Timezone Data to 2023d
> - JDK-8321480: ISO 4217 Amendment 176 Update
> - JDK-8314468: Improve Compiler loops
> - JDK-8314295: Enhance verification of verifier
> - JDK-8316976: Improve signature handling
> - JDK-8317547: Enhance TLS connection support
> - JDK-8318971: Better Error Handling for Jar Tool When Processing 
> Non-existent Files
> - JDK-8323659: LinkedTransferQueue add and put methods call overridable offer
>
> Note: A complete list of changes can be found here [11].
>
> [8] 
> https://urldefense.com/v3/__https://jdk.java.net/22/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-DqzSR3P$<https://urldefense.com/v3/__https:/jdk.java.net/22/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-DqzSR3P$>
> [9] 
> https://urldefense.com/v3/__https://jdk.java.net/22/release-notes__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-P64Wsph$<https://urldefense.com/v3/__https:/jdk.java.net/22/release-notes__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-P64Wsph$>
> [10] 
> https://urldefense.com/v3/__https://download.java.net/java/early_access/jdk22/docs/api/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-A-6xO0M$<https://urldefense.com/v3/__https:/download.java.net/java/early_access/jdk22/docs/api/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-A-6xO0M$>
> [11] 
> https://urldefense.com/v3/__https://github.com/openjdk/jdk/compare/jdk-22*27...jdk-22*33__;Kys!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-NuaKIxM$<https://urldefense.com/v3/__https:/github.com/openjdk/jdk/compare/jdk-22*27...jdk-22*33__;Kys!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-NuaKIxM$>
>
>
> ## JDK 23 Early-Access builds
>
> JDK 23 Early-Access builds 7 are available [12] for testing. These EA builds 
> are provided under the GNU General Public License v2, with the Classpath 
> Exception. The Release Notes [13] are also available.
>
> ### Changes in recent JDK 23 builds that may be of interest:
>
> - JDK-8320597: RSA signature verification fails on signed data that does not 
> encode params correctly [Reported by Apache POI]
> - JDK-8322214: Return value of XMLInputFactory.getProperty() changed from 
> boolean to String in JDK 22 early access builds [Reported by Apache POI]
> - JDK-8321545: Override toString() for Format subclasses
> - JDK-8322366: Add IEEE rounding mode corruption check to JNI checks
> - JDK-8322383: G1: Only preserve marks on objects that are actually moved
> - JDK-8275338: Add JFR events for notable serialization situations
> - JDK-8320458: Improve structural navigation in API documentation
> - JDK-8320786: Remove ThreadGroup.stop
> - JDK-8320532: Remove Thread/ThreadGroup suspend/resume
> - JDK-8312150: Remove -Xnoagent option
> - JDK-8322829: Refactor nioBlocker to avoid blocking while holding Thread's 
> interrupt lock
> - JDK-8322725: (tz) Update Timezone Data to 2023d
> - JDK-8321480: ISO 4217 Amendment 176 Update
> - JDK-8318971: Better Error Handling for Jar Tool When Processing 
> Non-existent Files
> - JDK-8321594: NativeThreadSet should use placeholder for virtual threads
> - JDK-8321940: Improve CDSHeapVerifier in handling of interned strings
> - JDK-8321802: (zipfs) Add validation of incorrect LOC signature in 
> ZipFileSystem
> - JDK-8322841: Parallel: Remove unused using-declaration in MutableNUMASpace
> - JDK-8319626: Override toString() for ZipFile
> - JDK-8322878: Including sealing information Class.toGenericString()
>
> Note: A more exhaustive changes list can be found here [14].
>
> [12] 
> https://urldefense.com/v3/__https://jdk.java.net/23/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-KUxdg_7$<https://urldefense.com/v3/__https:/jdk.java.net/23/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-KUxdg_7$>
> [13] 
> https://urldefense.com/v3/__https://jdk.java.net/23/release-notes__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-MXcrImS$<https://urldefense.com/v3/__https:/jdk.java.net/23/release-notes__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-MXcrImS$>
> [14] 
> https://urldefense.com/v3/__https://github.com/openjdk/jdk/compare/jdk-23*1...jdk-23*7__;Kys!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-Okv4NYs$<https://urldefense.com/v3/__https:/github.com/openjdk/jdk/compare/jdk-23*1...jdk-23*7__;Kys!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-Okv4NYs$>
>
>
> ## JavaFX 22 & 23 Early-Access Builds
>
> These are early access builds of the JavaFX 22 Runtime built from openjdk/jfx 
> [14]. These builds enable JavaFX application developers to build and test 
> their applications with JavaFX 22 on JDK 22. Although JavaFX 22 is designed 
> to work with JDK 22, it is also known to work with JDK 17 and later versions.
>
> The latest early access builds of JavaFX 22 Builds 26 (2024/1/20) are 
> available [15], under the GNU General Public License, version 2, with the 
> Classpath Exception. JavaFX 22 API Javadocs [16] are also available.
>
> The first early access builds (2024/1/19) of JavaFX 23 are now also available 
> [17].
>
> [14] 
> https://urldefense.com/v3/__https://github.com/openjdk/jfx__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-GJ3Wzth$<https://urldefense.com/v3/__https:/github.com/openjdk/jfx__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-GJ3Wzth$>
> [15] 
> https://urldefense.com/v3/__https://jdk.java.net/javafx22/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-J0QHvJw$<https://urldefense.com/v3/__https:/jdk.java.net/javafx22/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-J0QHvJw$>
> [16] 
> https://urldefense.com/v3/__https://download.java.net/java/early_access/javafx22/docs/api/overview-summary.html__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-OrloPxn$<https://urldefense.com/v3/__https:/download.java.net/java/early_access/javafx22/docs/api/overview-summary.html__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-OrloPxn$>
> [17] 
> https://urldefense.com/v3/__https://jdk.java.net/javafx23/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-AypHZKF$<https://urldefense.com/v3/__https:/jdk.java.net/javafx23/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-AypHZKF$>
>
>
> ## Topics of Interest
>
> - Podcast “The Panama Effect” with Jorn Vernee
> https://urldefense.com/v3/__https://inside.java/2024/01/08/podcast-032/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-CKi_Y2K$<https://urldefense.com/v3/__https:/inside.java/2024/01/08/podcast-032/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-CKi_Y2K$>
>
> - Java's Plans for 2024 - Inside Java Newscast
> https://urldefense.com/v3/__https://inside.java/2024/01/18/newscast-61/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-LN15dkP$<https://urldefense.com/v3/__https:/inside.java/2024/01/18/newscast-61/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-LN15dkP$>
>
> - Java 22 Unpacking - Inside Java Newscast
> https://urldefense.com/v3/__https://inside.java/2023/12/07/newscast-59/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-EsAFOmo$<https://urldefense.com/v3/__https:/inside.java/2023/12/07/newscast-59/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-EsAFOmo$>
>
> - Java Highlights of 2023 - Inside Java Newscast
> https://urldefense.com/v3/__https://inside.java/2023/12/21/newscast-60/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-Nzb2sgO$<https://urldefense.com/v3/__https:/inside.java/2023/12/21/newscast-60/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-Nzb2sgO$>
>
> - JDK 21: The GCs keep getting better
> https://urldefense.com/v3/__https://kstefanj.github.io/2023/12/13/jdk-21-the-gcs-keep-getting-better.html__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-O20lltX$<https://urldefense.com/v3/__https:/kstefanj.github.io/2023/12/13/jdk-21-the-gcs-keep-getting-better.html__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-O20lltX$>
>
> - Java SE Security Developer’s Guide
> https://docs.oracle.com/en/java/javase/21/security/index.html#Java-Platform%2C-Standard-Edition
>
> - Another VS Code Extension for Java
> https://urldefense.com/v3/__https://inside.java/2023/12/03/java-vscode-extension/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-MFBkyfB$<https://urldefense.com/v3/__https:/inside.java/2023/12/03/java-vscode-extension/__;!!ACWV5N9M2RV99hQ!IBtSXk2yDDQeTWeHLTl3jTj5bAcO6FKAkkLz7NfipJr4BmqF8yueQzcXY_Eui4g2yb7-kODH4y05wABIpHZN-MFBkyfB$>
>
>
> ## January 2024 Critical Patch Update Released
>
> As part of the January 2024 CPU, Oracle released OpenJDK 21.0.2, JDK 21.0.2 
> LTS, JDK 17.0.10 LTS, 11.0.22 LTS, 8u401, and 8u401-perf.
>
>
> ~
>
> As usual, let us know if you find any quirks while testing your project(s) 
> with the latest JDK early-access builds.
>
> --David
>

Reply via email to