After dismissing Java for eight years as a “passing trend for developers who couldn’t handle real programming,” one developer’s 25-year journey reveals how Java evolved from a language he distrusted to the foundation of his career, and why he believes it’s still one of the most valuable investments you can make in 2025.
-
Java, What’s Old? Part II: Utils
Table of Contents ObjectsvolatileLocaleCollatorNormalizer After Java, What’s Old? Part I – Collections, let’s now have a look at less known old utility classes that can still be useful. Everything in this series will be in Java 8 and later, so …
-
Sustainability Starts with Your Runtime: Meet a Green JVM
Table of Contents Sustainable engineering in action Cost and carbon reduction: an illustrative example Net-zero goals start at the platform levelReady to see the difference? Reducing spend in the cloud is a top priority for many organizations, and a high-performance Java platform …
-
Foojay Podcast #75: JCON Report, Part 4 – Tips and Tricks for Java Devs
Table of Contents VideoPodcast (audio only)Content This is the final part of the JCON 2025 interviews with a lot of tips and tricks! In the three previous podcasts, we featured interviews from the JCON conference on “Being a better Java …
-
Clean and Modular Java: A Hexagonal Architecture Approach
One of the discussions that always leaves me with both doubts and excitement is the one about system architecture. Ever since I started diving deeper into programming, I’ve encountered questions like how to separate packages and modules: is it really …
-
Java, What’s Old? Part I: Collections
Table of Contents OptionalStatisticsLinkedHashMapWeakHashMapBitSet A few weeks ago, I had the honor to present at the Arnhem JUG in the Netherlands about “Java, What’s old?” In this series, I’m focusing on what’s old in the JDK, not that known, and …
-
Foojay Podcast #73: JCON Report, Part 2 – Evolutions in the Java Language and Runtime
Table of Contents VideoPodcast (audio only)Content In the second part of our JCON interviews, recorded at the conference in May, we focuses on general evolutions within the Java world and how they influence how we write code and develop applications. …
-
Java’s Structured Concurrency: Finally Finding Its Footing
Table of Contents What Actually Changed This TimeThe Core Concept Remains StrongThe headline change: static factory methodsJoiners: pick your success policyRolling your own JoinerBetter cancellation and deadlinesScoped values ride alongGuard-rails against misuseObservability improvementsSome more examples to try outFinal thoughts The …
-
Foojay Podcast #71: Celebrating 30 Years of Java with James Gosling
Table of Contents VideoPodcast (Audio only)Content We are celebrating Java’s 30th anniversary this May! This is a very special anniversary episode of the Foojay Podcast! As we approach May 23rd, marking exactly 30 years since Java’s first beta release in …
-
Async file IO with Java and io_uring
Table of Contents What is PanamaManaging memoryMaking calls up and downWhat is io_uringSingle read with Java and UringPerformance improvementsTurning pinning into yieldingBringing It All Together When I first started exploring Virtual Threads in Java, I wanted to understand everything about …
-
Six JDK 24 Features You Should Know About
Table of Contents Six new features you want to know aboutJEP 483: Ahead-of-time class loading and linkingJEP 485: Stream gatherersJEP 486: Permanently disable the security managerJEP 491: Synchronize virtual threads without pinningJEP 498: Warn Upon Use of memory-access methods in …