How to Upgrade to Java 25 #RoadTo25
Updating from Java 21 to 25 is a smooth experience. Unless you're working on an unlucky project that collected all the little details that change: Whether it...

Java
24.5K views β’ Aug 24, 2025

About this video
Updating from Java 21 to 25 is a smooth experience. Unless you're working on an unlucky project that collected all the little details that change: Whether it's annotation processing, null checks, file operations or the removal of old technologies, Peter collects them all.
JDK 25: https://jdk.java.net/25/
Java 25 Launch Stream: https://dev.java/community/java-25-launch/
ACME Soft's Road to 25: https://www.youtube.com/playlist?list=PLX8CzqL3ArzXJ2_0FIGleUisXuUm4AESE
~~~~~ Chapters ~~~~~
0:00 Intro
0:55 Default Annotation Processing
* https://inside.java/2024/06/18/quality-heads-up/
2:58 Final Record Pattern Variables
* https://bugs.openjdk.org/browse/JDK-8317300
4:15 Security Property "include"
* https://inside.java/2024/12/10/quality-heads-up/
4:55 Null Checks in Inner Class Constructors
* https://inside.java/2025/04/04/quality-heads-up/
6:40 Unsafe Memory Access
* memory access warnings: https://openjdk.org/jeps/498
* memory access deprecation: https://openjdk.org/jeps/471
* shouldBeInitialized, ensureClassInitialized: https://bugs.openjdk.org/browse/JDK-8316160
* park, unpark, ...Fence: https://bugs.openjdk.org/browse/JDK-8315938
8:52 Native Access
* https://inside.java/2024/12/09/quality-heads-up/
* https://openjdk.org/jeps/472
* restricted methods in JDK 24: https://docs.oracle.com/en/java/javase/24/docs/api/restricted-list.html
10:53 Security Manager
* https://inside.java/2024/12/11/quality-heads-up/
* https://openjdk.org/jeps/486
* changes to `Subject` API: https://inside.java/2024/07/08/quality-heads-up/
11:57 File System Operations on Windows
* deletion and trailing spaces: https://inside.java/2025/06/16/quality-heads-up/
* `\\?\C:\` style paths: https://bugs.openjdk.org/browse/JDK-8287843
* trailing space in paths: https://bugs.openjdk.org/browse/JDK-8354450
* deleting read-only files: https://bugs.openjdk.org/browse/JDK-8355954
13:04 Unicode Updates and COMPAT Removal
* CLDR by default: https://openjdk.org/jeps/252
* COMPAT removal: https://inside.java/2024/07/11/quality-heads-up/ & https://bugs.openjdk.org/browse/JDK-8174269
* CLDR updates: https://inside.java/2024/03/29/quality-heads-up/
* CLDR v44: https://bugs.openjdk.org/browse/JDK-8306116 & https://cldr.unicode.org/downloads/cldr-44
14:41 Intermission
15:26 Removals
* 32bit: https://openjdk.org/jeps/503
* GTK2: https://bugs.openjdk.org/browse/JDK-8329471 & https://openjdk.org/jeps/283
* time zones: https://bugs.openjdk.org/browse/JDK-8340477
* command line options:
`-XX:[+-]RegisterFinalizersAtInit`: https://bugs.openjdk.org/browse/JDK-8320335 & https://bugs.openjdk.org/browse/JDK-8320522
`-XX:+UseEmptySlotsInSupers`: https://bugs.openjdk.org/browse/JDK-8330607 & https://bugs.openjdk.org/browse/JDK-8330699
`-Xnoagent`: https://bugs.openjdk.org/browse/JDK-8312072 & https://bugs.openjdk.org/browse/JDK-8312150
`-t`, `-tm`, `-Xfuture`, `-checksource`, `-cs`, and `-noasyncgc`: https://bugs.openjdk.org/browse/JDK-8339918
`jdeps -profile`, `-p`: https://bugs.openjdk.org/browse/JDK-8310460
* methods on `Thread` and `ThreadGroup`: https://bugs.openjdk.org/browse/JDK-8320532 & https://bugs.openjdk.org/browse/JDK-8320786
* system property `jdk.reflect.useDirectMethodHandle`: https://bugs.openjdk.org/browse/JDK-8305104
* module _jdk.random_: https://bugs.openjdk.org/browse/JDK-8330005
18:24 Deprecations for Removal
* various command line flags: https://bugs.openjdk.org/browse/JDK-8227229, https://bugs.openjdk.org/browse/JDK-8286851, https://bugs.openjdk.org/browse/JDK-8350754
* modules: https://bugs.openjdk.org/browse/JDK-8311530 & https://bugs.openjdk.org/browse/JDK-8308398
19:12 Separate Metaspace and GC Printing
* https://inside.java/2025/06/09/quality-heads-up/
20:41 Remote Debugging with jstat and jhsdb
* https://inside.java/2025/01/31/quality-heads-up/
21:53 Outro
Tags: #Java #Java25 #Update #OpenJDK
JDK 25: https://jdk.java.net/25/
Java 25 Launch Stream: https://dev.java/community/java-25-launch/
ACME Soft's Road to 25: https://www.youtube.com/playlist?list=PLX8CzqL3ArzXJ2_0FIGleUisXuUm4AESE
~~~~~ Chapters ~~~~~
0:00 Intro
0:55 Default Annotation Processing
* https://inside.java/2024/06/18/quality-heads-up/
2:58 Final Record Pattern Variables
* https://bugs.openjdk.org/browse/JDK-8317300
4:15 Security Property "include"
* https://inside.java/2024/12/10/quality-heads-up/
4:55 Null Checks in Inner Class Constructors
* https://inside.java/2025/04/04/quality-heads-up/
6:40 Unsafe Memory Access
* memory access warnings: https://openjdk.org/jeps/498
* memory access deprecation: https://openjdk.org/jeps/471
* shouldBeInitialized, ensureClassInitialized: https://bugs.openjdk.org/browse/JDK-8316160
* park, unpark, ...Fence: https://bugs.openjdk.org/browse/JDK-8315938
8:52 Native Access
* https://inside.java/2024/12/09/quality-heads-up/
* https://openjdk.org/jeps/472
* restricted methods in JDK 24: https://docs.oracle.com/en/java/javase/24/docs/api/restricted-list.html
10:53 Security Manager
* https://inside.java/2024/12/11/quality-heads-up/
* https://openjdk.org/jeps/486
* changes to `Subject` API: https://inside.java/2024/07/08/quality-heads-up/
11:57 File System Operations on Windows
* deletion and trailing spaces: https://inside.java/2025/06/16/quality-heads-up/
* `\\?\C:\` style paths: https://bugs.openjdk.org/browse/JDK-8287843
* trailing space in paths: https://bugs.openjdk.org/browse/JDK-8354450
* deleting read-only files: https://bugs.openjdk.org/browse/JDK-8355954
13:04 Unicode Updates and COMPAT Removal
* CLDR by default: https://openjdk.org/jeps/252
* COMPAT removal: https://inside.java/2024/07/11/quality-heads-up/ & https://bugs.openjdk.org/browse/JDK-8174269
* CLDR updates: https://inside.java/2024/03/29/quality-heads-up/
* CLDR v44: https://bugs.openjdk.org/browse/JDK-8306116 & https://cldr.unicode.org/downloads/cldr-44
14:41 Intermission
15:26 Removals
* 32bit: https://openjdk.org/jeps/503
* GTK2: https://bugs.openjdk.org/browse/JDK-8329471 & https://openjdk.org/jeps/283
* time zones: https://bugs.openjdk.org/browse/JDK-8340477
* command line options:
`-XX:[+-]RegisterFinalizersAtInit`: https://bugs.openjdk.org/browse/JDK-8320335 & https://bugs.openjdk.org/browse/JDK-8320522
`-XX:+UseEmptySlotsInSupers`: https://bugs.openjdk.org/browse/JDK-8330607 & https://bugs.openjdk.org/browse/JDK-8330699
`-Xnoagent`: https://bugs.openjdk.org/browse/JDK-8312072 & https://bugs.openjdk.org/browse/JDK-8312150
`-t`, `-tm`, `-Xfuture`, `-checksource`, `-cs`, and `-noasyncgc`: https://bugs.openjdk.org/browse/JDK-8339918
`jdeps -profile`, `-p`: https://bugs.openjdk.org/browse/JDK-8310460
* methods on `Thread` and `ThreadGroup`: https://bugs.openjdk.org/browse/JDK-8320532 & https://bugs.openjdk.org/browse/JDK-8320786
* system property `jdk.reflect.useDirectMethodHandle`: https://bugs.openjdk.org/browse/JDK-8305104
* module _jdk.random_: https://bugs.openjdk.org/browse/JDK-8330005
18:24 Deprecations for Removal
* various command line flags: https://bugs.openjdk.org/browse/JDK-8227229, https://bugs.openjdk.org/browse/JDK-8286851, https://bugs.openjdk.org/browse/JDK-8350754
* modules: https://bugs.openjdk.org/browse/JDK-8311530 & https://bugs.openjdk.org/browse/JDK-8308398
19:12 Separate Metaspace and GC Printing
* https://inside.java/2025/06/09/quality-heads-up/
20:41 Remote Debugging with jstat and jhsdb
* https://inside.java/2025/01/31/quality-heads-up/
21:53 Outro
Tags: #Java #Java25 #Update #OpenJDK
Tags and Topics
Browse our collection to discover more content in these categories.
Video Information
Views
24.5K
Likes
717
Duration
22:41
Published
Aug 24, 2025
User Reviews
4.6
(4) Related Trending Topics
LIVE TRENDSRelated trending topics. Click any trend to explore more videos.