Java Is Becoming a Monster (And I Love It)
I used to think Java was done. Stale. Verbose. A relic.
But now? It mutated. It spawns 5000 virtual threads like it’s nothing.
I just built a REST service: Runs on virtual threads
Functional pipelines
Only a few MB RAM
No thread-pools
No leaks
Pure JVM
This isn't Java 8 anymore.
No Groovy. No Kotlin. No detours.
Java is now useful and gets Beautiful.
And then there’s GraalVM:
If you skip reflection and runtime init, you get: Native executables
Instant startup
Tiny memory
No runtime surprises
Game. Changed.
But OSS frameworks?
Still look frozen in 2015.
Heavy, reflective, runtime-hacked monsters.
So I built my own tools:
TypeMap
→ Zero-reflection json/xlm reader & type converter
→ GraalVM native
→ Fast. Simple. Functional.
https://github.com/YunaBraska/type-map
Nano
→ Anti-framework
→ Static main, no DI magic
→ Pure, clean design
https://github.com/NanoNative/nano
Nano example app
One single static main file
https://github.com/YunaBraska/nano-graalvm-example
API-Doc-Crafter
Native CLI doc tool
https://github.com/YunaBraska/api-doc-crafter
My Java Functional Guidelines
https://devabyss.hashnode.dev/java-functional-guidelines
Java isn't just catching up.
It’s setting the pace now.
The only question is:
Can frameworks and libraries keep up?
Propagating #OpenTelemetry context when using #VirtualThreads & Structured Concurrency by @adamwarski
Java 24 is here!
Modern Java has outpaced frameworks, waiting for them to catch up. With GraalVM, Virtual Threads, Native Compilation, and Functional Programming, do we even need frameworks anymore?
Java 24 optimizations I love:
JEP 450 - Compact Object Headers for memory efficiency
JEP 488 - Primitive types acting like objects
No more 32-bit x86 support!
Java releases features only when they are ready. No half-baked experiments. Can’t wait for future operators like ?, ??, !., and ?..
Java is evolving fast. Are you keeping up?
New Blog Alert!
Want to supercharge your Java apps with Helidon and Virtual Threads? Dive into this must-read post by @kec and discover how to harness the power of modern concurrency with Project Loom!
Read it now: https://link.medium.com/NVfmlMgUzQb
Here is the recording of our #JChampions conference talk "Looking at Music, an experiment with #Kotlin, #JavaFX, #MIDI, and #VirtualThreads." My son Vik and I brought it to you live from my home-office-with-piano! ;-)
All tested and ready for the online #JChampions conference tomorrow! A lot of wires and cameras, a piano, LED strip, mix panel... what can possibly go wrong?! ;-) Live stream tomorrow with a look at music with #Kotlin, #JavaFX #MIDI, #FXGL, #VirtualThreads, and more!
Join my son Vik and me at 19h CET on YouTube:
https://www.youtube.com/watch?v=UW6fDQt-8BI.
Check the full schedule:
https://jchampionsconf.com/
Mastering Java Virtual Threads: Boost Application Scalability and Performance
Unleashing Concurrency: A Deep Dive into Virtual Threads in JDK 21 vs. Spring Core Reactor
As the demand for high-concurrency applications surges, developers are turning to innovative solutions like Virtual Threads in JDK 21. This article explores the transformative potential of Virtual Thr...
#java #VirtualThreads #reactive_programming
Are virtual threads making reactive programming obsolete?
https://scriptkiddy.pro/are-virtual-threads-making-reactive-programming-obsolete/
I was honored to contribute a post to this year's #JavaAdvent. I wrote about my experiments with #Java, #JavaFX, #Kotlin, #MIDI, and #VirtualThreads for the MelodyMatrix application I'm building with my 14-year-old son.
A tour of Ox Flow: an API for defining local data transformation pipelines, which focuses on performance and simplicity - check the newest video by @adamwarski!
JEP 491, "Synchronize Virtual Threads without Pinning," is now Proposed to Target for JDK 24!
This initiative aims to resolve Java's "pinning" issue, a limitation of the synchronized keyword, which restricts scalability with virtual threads. JEP 491 eliminates this constraint, unlocking high-performance concurrency without extensive refactoring.
Find out more on #InfoQ https://bit.ly/4fg0Z9C
#ApacheTomcat 11 is here!
Apache Tomcat 11 brings several notable advancements; one of the most significant is the support for #VirtualThreads, introduced as part of Java's Project Loom and delivered in JDK 21.
Learn more: https://bit.ly/4hzCB4j
Being on the @devoxx stage again, for the first time together with my 14-year-old son, was an absolute pleasure! We presented #MelodyMatrix, a desktop app created with #JavaFX and #Kotlin to "look at music". An ideal way to experiment with #VirtualThreads and compare whether they can play the piano as well as Vik...
The video recording is available here:
https://www.youtube.com/watch?v=xbaLjoTU49I
All the links of the talk here:
https://webtechie.be/post/2024-10-09-devoxx-links-melodymatrix-talk/
Are you interested in seeing how my 14-year-old son and I combine #Java, #Kotlin, #JavaFX, #MIDI, #VirtualThreads, a piano, and an LED strip? Join us next Wednesday at @devoxx in Antwerp!
MelodyMatrix is the app we will demonstrate and explain; see https://melodymatrix.rocks/.
You can find the talk details here: https://devoxx.be/talk/looking-at-music-an-experiment-with-kotlin-javafx-midi-and-virtual-threads/
Excited! I will be on the @devoxx stage twice in Antwerp in October! Together with @rdehuyss, we will demo hands-on #JobRunr with #JavaOnRaspberryPi. The second one is even more special as Vik, my 14-year-old son will co-present and compete with #VirtualThreads to prove who is the best piano player, (young) man versus machine!