Modern Java: This is not your father's Java anymore
Forget complex reactive paradigms. Java 21's virtual threads deliver massive concurrency with a simple, familiar thread-per-request model.
#1about 3 minutes
Creating immutable data carriers with Java records
Records provide a concise syntax for creating immutable data classes, automatically generating constructors, accessors, equals, and hashCode.
#2about 2 minutes
Controlling class inheritance with sealed classes
Sealed classes and interfaces restrict which other classes or interfaces may extend or implement them, offering more control than final or public.
#3about 5 minutes
Leveraging pattern matching for switches and records
Pattern matching simplifies complex conditional logic by combining type checks and variable extraction within switch expressions and instanceof checks.
#4about 4 minutes
Understanding the new virtual threads model
Virtual threads are lightweight, JVM-managed threads that dramatically increase scalability for concurrent applications without complex reactive code.
#5about 2 minutes
Managing concurrent tasks with structured concurrency
Structured concurrency simplifies multithreaded programming by treating groups of related tasks running in different threads as a single unit of work.
#6about 1 minute
Replacing thread locals with safer scoped values
Scoped values offer an improved way to share immutable data within and across threads for a limited scope, avoiding the pitfalls of thread locals.
#7about 2 minutes
Simplifying Java entry points for new developers
Java now allows for simpler main method declarations and unnamed classes, lowering the barrier to entry for writing basic programs.
#8about 2 minutes
Decluttering code with unnamed variables and patterns
Use the underscore character for unnamed variables and patterns to signify intentionally unused variables, improving code clarity.
#9about 1 minute
Introducing new methods for sequence collections
The new sequenced collection interface adds standardized methods like getFirst, getLast, and reversed to collections with a defined encounter order.
#10about 2 minutes
Using string templates for safer interpolation
String templates provide a more powerful and secure way to perform string interpolation by using template processors like STR and FMT.
#11about 4 minutes
Applying data-oriented programming principles in Java
Combine records, sealed classes, and pattern matching to implement data-oriented programming, where application logic is driven by the structure of the data itself.
Related jobs
Jobs that call for the skills explored in this talk.
Using Java 17 latest features in real world projectsWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Ron Veen who introduced the audience to some of the most interesting features that got added to the Java language.About the speaker:Ron is a hig...
Christina Schaireiter
5 Reasons Why Attending Conferences in 2026 Matters More Than You ThinkIt’s 2026, and the “remote vs. office” debate has finally settled into a high-tech hybrid reality. While we’ve perfected the art of shipping production-grade code from decentralized hubs and home setups, something shifted. We realized that while AI c...
Christina Schaireiter
Why Attend a Developer Event?Modern software engineering moves too fast for documentation alone. Attending a world-class event is about shifting from tactical execution to strategic leadership.
Skill Diversification: Break out of your specific tech stack to see how the industry...
Michael Inden
Modern Java RecordsIn this blog, I will present Records, one of my favorite features of modern Java. Records represent a simplified form of classes whose methods are implicitly derived from the attributes defined as constructor parameters. A record constitutes a collec...
From learning to earning
Jobs that call for the skills explored in this talk.