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 …
-
Clean your Memory: From Finalize to Cleaner
Table of Contents Why is the finalize() method deprecated/removed?How does Cleaner relate to Java Reference classes?Behind the scenes of CleanerCleaner vs. try-with-resourcesAvoid overusing CleanerConclusionFurther Resources Garbage collection in Java takes care of memory management, but it does not clean up …
-
Foojay Podcast #68: Welcome to OpenJDK (Java) 24
Table of Contents VideoPodcast (audio only)Read more about Java 24 on FoojayGuestsSimon RitterHanno EmbregtsContent We serve you a podcast about the new Java version every six months. Our regular guest, Simon Ritter, Deputy CTO of Azul, is known on social …
-
Project Loom: Structured Concurrency – Java
Table of Contents What is Structured Concurrency?How Structured Concurrency Works?Benefits of Strutured ConcurrencyConclusionReferences In today’s era of cloud computing, where high-performance infrastructure is readily available, developers face a complex challenge in achieving efficient concurrency. While modern technological advancements have brought …
-
How JVM handles exceptions
Table of Contents ExampleException tableBytecode instructionsTry-catch-finally flowLess nice flowSummarized flow It’s interesting to know how the JVM runs bytecode instructions… But do you know what is going on when an exception is thrown? How does the JVM handle the delegation …