Java Performance Tuning
Java(TM) - see bottom of page
Our valued sponsors who help make this site possible
JProfiler: Get rid of your performance problems and memory leaks!
Training online: Concurrency, Threading, GC, Advanced Java and more ...
News August 2023
JProfiler
|
Get rid of your performance problems and memory leaks!
|
JProfiler
|
Get rid of your performance problems and memory leaks!
|
|
|
Back to newsletter 273 contents
As usual before a Java release, I'm listing all the new performance features in the upcoming release, this time for Java 21 (I have done this every 6 months prior to each new release, you can track back to the previous February and August newsletters if you want to see what's new performance-wise in any particular release). Each time I give the new features, the performance benefits from each feature, and how to use the feature.
Java 21 is a long term supprt (LTS) release, so the speculative changes have been kept small (because they'd need to be supported a long time). In fact as far as performance goes there is just one significant new feature - but it's huge! Virtual threads have finally arrived!
Now on to the details of those Java 21 changes, including the options you have available to use them. And of course the tips from this month's articles, as ever are extracted into this month's tips page.
A note from this newsletter's sponsor
JProfiler
Get rid of your performance problems and memory leaks!
News
Java performance tuning related news - Java 21 performance changes
- JEP444: Virtual Threads. Lightweight threads, you can have millions of them
- JEP439: Generational ZGC. Won't give better GC pauses, but will use less heap memory and CPU in giving those very low (under 1ms) pauses
- JEP451: Prepare to disallow the dynamic loading of agents
- JDK-8191565 Last resort G1 Full GC moves humongous objects - when G1 would previously OOME
- JDK-8306703 New JFR View command can aggregate and display event data in a tabular form without the need to dump a recording file, or open up JDK Mission Control. There are 70 predefined views, such as hot-methods, gc-pauses, pinned-threads, allocation-by-site, gc, memory-leaks-by-class, and more
- JDK-8305092 Thread.sleep(millis, nanos) is now able to perform sub-millisecond sleeps. Before this change, a non-zero nanos argument would round up to a full millisecond. While the precision is improved on most POSIX systems, the actual sleep duration is still subject to the precision and accuracy of system facilities
- JDK-8303392 Runtime.exec and ProcessBuilder logging of command arguments
- JDK-8301627 System.exit() and Runtime.exit() logging
- JEP442: Foreign Function & Memory API (Third Preview). Still in preview after many iterations. Useful for off heap management
- JEP446: Scoped Values (Preview). More efficient than thread-local variables, especially with large numbers of virtual threads
- JEP448: Vector API (Sixth Incubator). Vector computations that reliably compile at runtime to optimal vector hardware instructions. If you use these types of operations - eg ML, image processing, scientific processing, massive financial calculations, etc - then you should check it out and feedback since this matters to you
Tools
Java performance tuning related tools
Articles
Jack Shirazi
Back to newsletter 273 contents
Last Updated: 2024-09-29
Copyright © 2000-2024 Fasterj.com. All Rights Reserved.
All trademarks and registered trademarks appearing on JavaPerformanceTuning.com are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries. JavaPerformanceTuning.com is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
URL: http://www.JavaPerformanceTuning.com/news/news273.shtml
RSS Feed: http://www.JavaPerformanceTuning.com/newsletters.rss
Trouble with this page? Please contact us