Java Performance Update: From JDK 21 to JDK 25
JDK 25 has arrived, bringing a major set of performance gains over JDK 21—often letting your existing, unchanged Java applications run faster right away. In this talk, we’ll dive into 13 concrete performance improvements delivered between JDK 21 and JDK 25 across the standard libraries, the JIT compiler, and garbage collectors. Along the way, you’ll get an inside look at the design tradeoffs behind these optimizations and how JDK engineers evaluate performance in the real world—where platforms differ and optimization goals can conflict. We’ll also spotlight one of the most exciting new additions: the preview feature Stable Value, which lets a field combine key benefits of both mutable and immutable data. You’ll learn how Stable Value works, what kinds of speedups it can unlock, and how you can start taking advantage of it today. Presented by *Claes Redestad* and *Per Minborg* (Java Platform Group - Oracle) during *Jfokus* 2026 ➤ https://www.jfokus.se More on Performance ➤ https://inside.java/tag/performance Tags: #Java, #Performance, #JVM, #OpenJDK
Evolving Java is not about...
..."Oh, wouldn't this feature be cool? Let's stick it in." It's a much more nuanced conversation than that. For every feature, whether it's something big or something small, you know, is it something that fits? Is it something that solves a real problem? _Something is brewing..._ Find out more at JavaOne in Redwood City (California, USA), March 17th-19th. Use code *J1BREWING200* to get *$200 off* at https://javaone.com #Java #JavaOne #OpenJDK
Why do stateful operations don't play well with parallel streams? - #javacoding #javatips
Cracking the #Java #Coding #Interview - Question 340: Why do stateful operations don't play well with parallel streams? Watch all the questions here: https://youtube.com/playlist?list=PLzzeuFUy_Cngn3JZEXtu6G923y5v8y-8h
Unboxing Java 26 for Developers - Inside Java newscast #108
Java 26 is getting all packaged up to be shipped worldwide! As with every release of the JDK there are a number of new features, improvements, changes in behavior, and more developers should be aware of before upgrading. In this episode of the Inside Java Newscast we will review all the noteworthy changes coming in Java 26 that will impact developers. Come to *JavaOne 2026* in Redwood City, March 17th-19th, and get $200 off with code J12026YTLFV: https://www.oracle.com/javaone/ ~~~~Resources~~~~ Java 26 for DevOps: https://inside.java/2026/03/02/jdk-26-rn-ops/ HTTP Client Updates in Java 26: https://inside.java/2026/03/04/jdk-26-http-client/ JDK Enhancement Proposals (JEPs): - JEP 500 - Prepare to Make Final Mean Final - https://openjdk.org/jeps/500 - JEP 504 - Remove the Applet API - https://openjdk.org/jeps/504 - JEP 516 - Ahead-of-Time Object Caching with Any GC - https://openjdk.org/jeps/516 - JEP 517 - HTTP/3 for the HTTP Client API - https://openjdk.org/jeps/517 - JEP 522 - G1 GC: Improve Throughput by Reducing Synchronization - https://openjdk.org/jeps/522 - JEP 524 - PEM Encodings of Cryptographic Objects (Second Preview) - https://openjdk.org/jeps/524 - JEP 525 - Structured Concurrency (Sixth Preview) - https://openjdk.org/jeps/525 - JEP 526 - Lazy Constants (Second Preview) - https://openjdk.org/jeps/526 - JEP 529 - Vector API (Eleventh Incubator) - https://openjdk.org/jeps/529 - JEP 530 - Primitive Types in Patterns, instanceof, and switch (Fourth Preview) - https://openjdk.org/jeps/530 JDK Bug Systems (JBS) Tickets: - JDK-8371470 - Java Launcher does not fail when running compact java-file with private no-arg constructor - https://bugs.openjdk.org/browse/JDK-8371470 - JDK-8346944 - Update Unicode Data Files to 17.0.0 - https://bugs.openjdk.org/browse/JDK-8346944 - JDK-8354548 - Update CLDR to Version 48.0 - https://bugs.openjdk.org/browse/JDK-8354548 - JDK-8364361 - [process] java.lang.Process should implement Closeable - https://bugs.openjdk.org/browse/JDK-8364361 - JDK-8369432 - Add Support for JDBC 4.5 MR - https://bugs.openjdk.org/browse/JDK-8369432 - JDK-8363972 - Lenient parsing of minus sign pattern in DecimalFormat/CompactNumberFormat - https://bugs.openjdk.org/browse/JDK-8363972 - JDK-8342705 - Add dark mode for docs - https://bugs.openjdk.org/browse/JDK-8342705 - JDK-8356557 - Update CodeSource::implies API documentation and deprecate java.net.SocketPermission class for removal - https://bugs.openjdk.org/browse/JDK-8356557 - JDK-8366577 - Deprecate java.net.Socket::setPerformancePreferences - https://bugs.openjdk.org/browse/JDK-8366577 - JDK-8277585 - Remove the terminally deprecated finalize() method from javax.imageio.stream APIs - https://bugs.openjdk.org/browse/JDK-8277585 - JDK-8368226 - Remove Thread.stop - https://bugs.openjdk.org/browse/JDK-8368226 - JDK-8366575 - Remove SDP support - https://bugs.openjdk.org/browse/JDK-8366575 - JDK-8366911 - (fs) Remove support for normalizing file names to Unicode normalized form D (macOS) - https://bugs.openjdk.org/browse/JDK-8366911 - JDK-8351413 - Remove XML interchange in java.management/javax/management/modelmbean/DescriptorSupport - https://bugs.openjdk.org/browse/JDK-8351413 - JDK-8359760 - Remove the jdk.jsobject module - https://bugs.openjdk.org/browse/JDK-8359760 - JDK-8357653 - Inner classes of type parameters emitted as raw types in signatures - https://bugs.openjdk.org/browse/JDK-8357653 - JDK-8370387 - Remove handling of InterruptedIOException from java.io classes - https://bugs.openjdk.org/browse/JDK-8370387 - JDK-8361614 - Missing sub-int value validation in the Class-File API - https://bugs.openjdk.org/browse/JDK-8361614 - JDK-8361635 - Missing List length validation in the Class-File API - https://bugs.openjdk.org/browse/JDK-8361635 - JDK-8362637 - Convert java.nio.ByteOrder to an enum - https://bugs.openjdk.org/browse/JDK-8362637 - JDK-8362448 - Make use of the Double.toString(double) algorithm in java.text.DecimalFormat - https://bugs.openjdk.org/browse/JDK-8362448 - JDK-8268406 - Deallocate jmethodID native memory - https://bugs.openjdk.org/browse/JDK-8268406 - JDK-8369517 - Compilation mismatch for equivalent lambda and method reference - https://bugs.openjdk.org/browse/JDK-8369517 - JDK-8347831 - Re-examine version check when cross linking - https://bugs.openjdk.org/browse/JDK-8347831 ~~~~ Chapters ~~~~ 0:00 Intro 0:40 JEP 500 1:38 JEP 516 1:48 JEP 517 2:19 JEP 522 2:25 JEP 504 2:37 JEP 524 2:56 JEP 525 3:19 JEP 526 3:47 JEP 530 3:55 JEP 529 4:25 New Features 6:08 Removed Features 7:27 Deprecated Features 8:00 Notable Issues Resolved 8:21 Other Issues 10:46 Outro Tags: #Java #Java26 #JDK26 #OpenJDK
What is the Off-heap memory? - Cracking the Java Coding Interview #javacoding #javatips
Cracking the #Java #Coding #Interview - Question 339: What is the Off-heap memory? Watch all the questions here: https://youtube.com/playlist?list=PLzzeuFUy_Cngn3JZEXtu6G923y5v8y-8h