Jfokus 2025 - Day 3
February 7, 2025The second day of Jfokus 2025 did not have any key notes or similar and started directly with the session track.
Java 24 - Better Language, Better APIs, Better Runtime
I chose to start the day with the main track, listening to Nicolai Parlog who gave a nice overview of new Java language features. The session had a bit of everything: a few coding examples, an overview of new APIs and mention of deprecated ones. All in all, a solid conference talk that I can recommend.
The First 80% of Reading One Billion Rows Fast Enough
This was one of my favorite sessions of this conference. The topic was the The One Billion Row Challenge, which as the name suggests, is about processing a billion rows of data in Java.
The speaker showed how to reduce the execution time from the "trivial" solution (that ran for ~240s IIRC) by 80%.
He demonstrated these optimizations in very comprehensible way using flame graph charts and always focusing on the current hot path. By laying out a couple of stricter rules than in the actual challenge (e.g. no bit-wise operations, no native calls, ...) he made this optimization process easy and logical to follow.
A highly recommended session for everyone who is interested in performance tuning and optimization.
Warp One, Engage: The Seek for Exoplanets
This was also a fun session. The speaker showed how to use Kubernetes and distributed computing to approach a big data problem. In this case, finding potentially habitable planets from astronomical data.
Well there's your problem! Your engine's missing! A look under Java's hood
As suggested in the talk's abstract, this was about the basics of Java bytecode. I liked the general approach
that the speaker took for his talk. By using Intellij's View Bytecode
add-in, he showed how bytecode for different
constructs (if
, while
, switch
statements, Lambda expressions, ...) looks like. Naturally, there
was not much new for an agent developer in this talk but if you don't work with Java bytecode on a regular basis and want
to learn more about that, this talk is for you.
30 Years of Java - How Did We Get Here?
This was a fun one! Simon Ritter walked us through his personal journey with Java in the last 30 years. Having worked at Sun on Solaris first and the with Java since version 1.0, he had a lot of interesting and hilarious anecdotes and trivia to share. My only point of criticism regarding this talk is that it made me feel really old, having used and seen most of the presented technologies and devices myself 🤣.
Java Memory Management...Really?
Having only read the title and scanned the abstract, I was expecting a session on actual memory management questions in Java. As it turned out though, this session was a bit different from this expectation. It was held in a pub quiz style asking trivia questions about Java and its ecosystem in the last 30 years.
It was quite entertaining though and my colleague Marco managed to win a Duke plushy.
Closing Keynotes
Mattias Karlsson, the face and MC of this conference, was also hosting this closing keynote and "thank you" session. All speakers, stage helpers and volunteers got the chance to jump on the stage and earn an extra round of applause. Definitely a nice gesture, that all conferences should pick up.
The actual closing keynote was held by Trisha Gee and it was centered around the topics of learning, playing with new technologies, time management and justifying time spent "playing". She also found optimistic and motivating words for those of use who might have gotten anxious and nervous about the AI revolution.
Remember a few years ago, when we were told that Rust was the biggest thing ever that would make everything else obsolete Maybe we should calm down a little before we all start looking for new jobs 😉.
Conference Impressions
A shot of the expo area.
One of the expo booths even had a pinball machine 🤩.
Last but no least, a close-up of the Dynatrace booth. It was nice to meet my Swedish colleagues there for the first time.