Sign in

Erik Österlund

@eosterlund.bsky.social
551 followers 217 following 36 posts

OpenJDK HotSpot JVM developer at Oracle. Drinks coffee and pets cats. Opinions expressed are, unsurprisingly, my own.

PostsRepliesMedia
Erik Österlund @eosterlund.bsky.social · 23/09/2026
Thank you, sir.
000
Erik Österlund @eosterlund.bsky.social · 22/09/2026
It’s true Ron was inspired by my ISMM keynote: conf.researchr.org/details/ismm... But that keynote was really intended for the memory management academics in the room. Ron saw it and thought it would be useful for a wider audience to hear the same message. Great job to Ron for doing that!
conf.researchr.org
Keynote: Industry GC Insights from OpenJDK (ISMM 2025 - International Symposium on Memory Management) - ISMM 2025
Welcome to the home page of the 2025 ACM SIGPLAN International Symposium on Memory Management (ISMM 2025)! ISMM is the premier forum dedicated to research in memory management, covering the areas of m...
162
Erik Österlund @eosterlund.bsky.social · 22/09/2026
I can say for definite that the release it lands in is the release after the release prior to the release it ends up landing in. I hope that helps.
100
Erik Österlund @eosterlund.bsky.social · 21/09/2026
Do you trade off startup and warmup by tuning -Xms, -Xmx and -XX:+AlwaysPreTouch appropriately? And did you set -XX:+UseTransparentHugePages together with the appropriate shmem_enabled kernel config? Me neither. ”JEP 545: Faster Startup and Warmup with ZGC” is candidate now: openjdk.org/jeps/545
openjdk.org
JEP 545: Faster Startup and Warmup with ZGC
Improve application startup and warmup by enhancing the Z Garbage Collector to acquire and prepare physical memory more swiftly and efficiently in response to application needs.
052
Erik Österlund @eosterlund.bsky.social · 21/09/2026
If you are like me and don’t enjoy configuring JVM heap sizes (e.g. -Xms, -Xmx, -XX:SoftMaxHeapSize) then finally ”JEP 546: Adaptive Heap Sizing for ZGC” just became a candidate JEP: openjdk.org/jeps/546
openjdk.org
JEP 546: Adaptive Heap Sizing for ZGC
Enhance the Z Garbage Collector (ZGC) to adaptively adjust the size of the heap based on the resources available, the application's needs, and the needs of neighboring applications contending for the same resources.
1115
Reposted by Erik Österlund
Mark Reinhold @mreinhold.org · 15/09/2026
Java 27 / JDK 27: General Availability: mail.openjdk.org/archives/lis... Features: openjdk.org/projects/jdk... Downloads: jdk.java.net/27/ #Java27 #JDK27 #OpenJDK #Java
04426
Reposted by Erik Österlund
Mark Reinhold @mreinhold.org · 10/08/2026
The first part of OpenJDK’s Project Valhalla, JEP 401 (Value Objects), has been integrated into JDK 28 as a preview feature and is now available in the early-access builds. More information: openjdk.org/projects/val... #JDK28 #OpenJDK #Java
07137
Erik Österlund @eosterlund.bsky.social · 22/05/2026
Wow, how did you know? Astonishing!
120
Erik Österlund @eosterlund.bsky.social · 22/05/2026
Today, May 22, my book about ZGC is finally ready and available to order! I can recommend reading it if you want to learn more about the magic nature of ZGC. You can order it here (among many places): www.routledge.com/The-Z-Garbag...
routledge.com
The Z Garbage Collector: In JDK 25
This book explains how the Z Garbage Collector was designed, why it was designed this way, the common pitfalls to avoid when using ZGC in JDK 25 and how to get useful information from the garbage coll...
084
Erik Österlund @eosterlund.bsky.social · 21/05/2026
Wow you got that fast! Hope you enjoy it! Best experienced with a big cup of coffee.
191
Reposted by Erik Österlund
Sharat (Shar) Chander - 🟦🌊 @sharatchander.bsky.social · 30/01/2026
#Java peers, #JavaOne 2026 is right around the corner! Read my LinkedIn article to learn more about the conference's value...and of course, register now! www.linkedin.com/pulse/javaon...
linkedin.com
JavaOne...30 Years of Java and the Community That Keeps It Moving
Register Now for JavaOne 2026 | March 17-19 | Redwood City, California For three decades, Java has been a constant in an industry defined by change. Frameworks come and go, architectures shift, and ha...
0107
Erik Österlund @eosterlund.bsky.social · 17/01/2026
That’s pretty cool. This reminds me I live somewhere with very limited light pollution. Perhaps I should have a go.
100
Erik Österlund @eosterlund.bsky.social · 15/01/2026
After working on ZGC for a decade, I’m happy to announce that I’m publishing a book about ZGC in JDK 25. It ships 22 May (www.taylorfrancis.com/books/mono/1...) and is being published by Taylor & Francis. You should get a copy if you want to learn more about ZGC. It’s available for pre-order now.
taylorfrancis.com
The Z Garbage Collector | In JDK 25 | Erik Österlund | Taylor & Franci
This book explains how the Z Garbage Collector was designed, why it was designed this way, the common pitfalls to avoid when using ZGC in JDK 25 and how to get
13410
Reposted by Erik Österlund
Sharat (Shar) Chander - 🟦🌊 @sharatchander.bsky.social · 11/11/2025
📢Important Update 📢 Many have asked for more time to submit to the 2026 #JavaOne call for papers. We've extended the deadline until Nov 13th at 11:59pm PT. Be sure to submit your #Java proposal(s) before time runs out: ➡️ social.ora.cl/6013A7UXF
21410
Erik Österlund @eosterlund.bsky.social · 07/11/2025
Integrated ”JEP 516: Ahead-of-Time Object Caching with Any GC”! openjdk.org/jeps/516
openjdk.org
031
Erik Österlund @eosterlund.bsky.social · 12/10/2025
This is an awesome oak tree close to where I live.
060
Erik Österlund @eosterlund.bsky.social · 05/10/2025
That is a good oak.
030
Erik Österlund @eosterlund.bsky.social · 14/07/2025
Glad you enjoyed it. 🙂
010
Reposted by Erik Österlund
Mark Reinhold @mreinhold.org · 05/06/2025
JDK 25 has been branched from the main line and is now in Rampdown Phase One: mail.openjdk.org/pipermail/jd... openjdk.org/projects/jdk... #JDK25 #OpenJDK #Java
mail.openjdk.org
JDK 25 is now in Rampdown Phase One
06223
Erik Österlund @eosterlund.bsky.social · 13/03/2025
It’s 5 days left to JavaOne. Go buy a ticket if you haven’t already! And don’t miss my session about what we are cooking in the ZGC project right now: reg.rf.oracle.com/flow/oracle/...
reg.rf.oracle.com
Session Catalog
130
Reposted by Erik Österlund
Sharat (Shar) Chander - 🟦🌊 @sharatchander.bsky.social · 23/12/2024
#Java developers! @JavaOne is BACK (18-20 Mar). Early bird registration is available through Feb 9th. Please (re)join us at THE conference that started it all... Blog ➡️ social.ora.cl/6015Qne5z Event ➡️ javaone.com #JavaOne #OpenJDK #JDK
25935
Erik Österlund @eosterlund.bsky.social · 18/12/2024
You missed one use case: entertaining GC developers. We can deduplicate String payload. We *could* canonicalize the String identity as well, but that might accidentally make broken code using == work. And it’s so much more hilarious to eagerly wait for the == to run and inevitably bug out!
media.tenor.com
elmo from sesame street is on fire with his arms outstretched and the words `` let it burn '' .
ALT: elmo from sesame street is on fire with his arms outstretched and the words `` let it burn '' .
010
Erik Österlund @eosterlund.bsky.social · 06/12/2024
I used to have a bunch of followers on here. Now I can’t find them any more; it just says 404.
020
Reposted by Erik Österlund
OpenJDK @openjdk.org · 04/12/2024
Hello, Bluesky!
1318640
Erik Österlund @eosterlund.bsky.social · 29/11/2024
Looks like Cassandra is getting support for JDK 21 and decided to switch GC to Generational ZGC. Good choice! I like how GC pause warning threshold changed from 1 second to 10 ms and logging threshold from 200 ms to 2 ms. PR: github.com/apache/cassa...
github.com
Add JDK21 support by jmckenzie-dev · Pull Request #3696 · apache/cassandra
Add JDK21 support Patch by jmckenzie; reviewed by TBD for CASSANDRA-18831
0133
Erik Österlund @eosterlund.bsky.social · 24/11/2024
I finally deactivated my ”X” account after a long time of not using it. I simply don’t want to go back there.
150
Erik Österlund @eosterlund.bsky.social · 21/11/2024
Ah so you are approaching this like instrumentation based profiling? I thought you would be the statistical sampling kind of guy.
010
Erik Österlund @eosterlund.bsky.social · 15/11/2024
Sure. What you do is to go to a place full of garbage, evacuate the stuff you care about to a safe place, then nuke the entire place.
020
Erik Österlund @eosterlund.bsky.social · 15/11/2024
I migrated to bluesky rather early. Why? Because I know garbage when I see it.
170
Erik Österlund @eosterlund.bsky.social · 15/11/2024
We don’t really plan for things to ship at a particular release. We will see how things pan out.
020
Reposted by Erik Österlund
Dmitry Kornilov @dmitrykornilov.bsky.social · 14/11/2024
Helidon 4.1.4 is out now! This release contains important bugfixes and enhancements and is recommended for all users of Helidon 4. github.com/helidon-io/h...
054
Erik Österlund @eosterlund.bsky.social · 14/11/2024
My work on ZGC automatic heap sizing is coming together beautifully. I’m increasingly happy with the GC logs. Feeling optimistic that it can beat carefully tuned manual heap sizing. A static heap size just can’t deal with dynamic behaviour shifts as well; it’s not in its nature.
1102
Reposted by Erik Österlund
Brian Goetz @briangoetz.bsky.social · 14/11/2024
Twitter was a good ride. Hard to leave 65K followers behind, but hard to stay there too. Let's try things where the sky is blue!
1414312
Erik Österlund @eosterlund.bsky.social · 13/11/2024
So if I want memory safety in an app, would I be ”just wrong” for thinking it’s easier to get that from a GC compared to a borrow checker?
100
Erik Österlund @eosterlund.bsky.social · 13/11/2024
I don’t know. When I talk to people writing rust for systems programming, they say its lack of ABI and dynamic linking friction makes it a poor choice, but pretty sure it’s good for apps. And the people writing apps say while it’s hard to get things wrong it’s too hard to get anything right.
100
Reposted by Erik Österlund
Tommi Somersuo @tommis.fi · 10/11/2024
Another pack here: go.bsky.app/F7m9rBy
0147
Erik Österlund @eosterlund.bsky.social · 09/11/2024
My JVMLS presentation about automatic heap sizing for ZGC is now available. It’s going to be pretty cool I think. youtube.com/watch?v=wcEN...
youtube.com
YouTube
Share your videos with friends, family, and the world
183
Reposted by Erik Österlund
The Onion @theonion.com · 24/10/2024
NASA Discovers Potential Life On Mars After Giant Eyeball In Middle Of Planet Looks Directly Into Telescope theonion.com/nasa-discove...
362071206
Erik Österlund @eosterlund.bsky.social · 22/10/2024
I thought you deprecated twitter for removal? That’s why I’m here anyway!
000
Erik Österlund @eosterlund.bsky.social · 17/09/2024
Finally Java 23 is out - the first release where Generational ZGC is the default mode of ZGC!
030
Reposted by Erik Österlund
Sharat (Shar) Chander - 🟦🌊 @sharatchander.bsky.social · 22/08/2024
#Java developers...The fifth recording from the 14th #JVM Language Summit is now available "#Valhallla - Where Are We?" by Brian Goetz (from the Java & #OpenJDK Team at #Oracle). Click to view ➡️ youtu.be/IF9l8fYfSnI?... #JVMLS #JVMLS2024
065
Erik Österlund @eosterlund.bsky.social · 25/06/2024
I have worked a lot on automatic heap sizing for ZGC lately (cf. openjdk.org/jeps/8329758). If you find this interesting, I will talk about it at JVMLS this year. See you there!
openjdk.org
010
Erik Österlund @eosterlund.bsky.social · 01/06/2024
This article says explicitly that Oracle does not support production use of Generational ZGC yet. I would like to clarify that this is false. Generational ZGC is supported for production use since JDK 21. It is not an experimental feature.
000
Reposted by Erik Österlund
Sharat (Shar) Chander - 🟦🌊 @sharatchander.bsky.social · 19/03/2024
🚨Java 22 is now available!🚨 ✅ Your FREE ✅Multi-Platform ✅ Production-Ready ✅ Open Source ✅ Binary Release made available from oracle. Learn more inside.java/2024/03/19/t... #Java22 #JDK22 #OpenJDK #JDK #Java
0811
Reposted by Erik Österlund
Sharat (Shar) Chander - 🟦🌊 @sharatchander.bsky.social · 19/03/2024
🚨JavaOne is BACK!🚨 On behalf of the Java Team at Oracle, I'm happy to announce the RETURN OF @JavaOne! Learn more ➡️ inside.java/2024/03/19/a... #Java #OpenJDK #JDK #Java #JavaOne
12011
Reposted by Erik Österlund
Nicolai Parlog @nipafx.dev · 06/03/2024
"In fact, we’ve found for our services and architecture that there is no such trade off. For a given CPU utilization target, ZGC improves both average and P99 latencies with equal or better CPU utilization when compared to G1." writes Netflix' Danny Thomas: netflixtechblog.com/bending-paus...
netflixtechblog.com
Bending pause times to your will with Generational ZGC
The surprising and not so surprising benefits of generations in the Z Garbage Collector.
021
Erik Österlund @eosterlund.bsky.social · 06/03/2024
I ran in to Danny Thomas from Netflix at JVMLS last year. Told him they should try Generational ZGC. They did, and it performed very well. Now they have changed default GC to Generational ZGC at Netflix, and Danny wrote a blog post about their experience: netflixtechblog.com/bending-paus...
031
Erik Österlund @eosterlund.bsky.social · 18/02/2024
I try to remove a lot of unnecessary complicated code before adding a lot of complicated code. I think of it as limiting myself to a “complexity budget”. Now I’m at the point of the cycle where it’s time to add complicated code.
020
Erik Österlund @eosterlund.bsky.social · 14/02/2024
Finally, ICStubs are a distant memory that I will try to suppress. github.com/openjdk/jdk/...
021
Erik Österlund @eosterlund.bsky.social · 19/01/2024
Tired of seeing ”Cleanup” and ”ICBufferFull” safepoint spam in your -Xlog:safepoint output? Finally, I got around to getting rid of this: github.com/openjdk/jdk/...
011