Java 25 for Professionals with Jetbrains AI Assistant
30mAdvanced2025-12-10
Authors
Maaike van Putten
Trainer and Developer for Java, Python, Spring Boot, and More
Course details
In this intermediate course, Java trainer and developer Maaike van Putten dives into the cutting-edge features of Java 25 and shows you how to elevate your programming skills to new heights. Explore modern Java techniques such as compact source files, flexible constructors, and unnamed variables that simplify your code writing process. Learn how to implement advanced concurrency patterns and manage data safely across threads. Discover how stream gatherers can enhance your functional programming and how modular imports can clean up your codebase. Learn to write clear and concise Java documentation using the latest Markdown syntax. This course helps you build a practical understanding of the newest features in Java, allowing you to create more efficient and maintainable applications.
Learning objectives
Understand and apply the latest Java 25 features to improve your coding skills.
Implement modern concurrency and modular programming techniques to build scalable Java apps.
Improve the quality of your documentation by adopting markdown documentation.
Learning objectives
Understand and apply the latest Java 25 features to improve your coding skills.
Implement modern concurrency and modular programming techniques to build scalable Java apps.
Improve the quality of your documentation by adopting markdown documentation.
Concepts
Introduction
- Java 25 unboxed
Modern Java - Compact Source Files and Instance Main Methods
- No boilerplate classes with compact source files
- Challenge - Build a lightweight Java app with modern syntax
Flexible Constructors in Java
- Writing more flexible constructors
- Challenge - Build a Product class with smarter constructors
Unnamed Variables
- Unnamed variables
- Challenge - Refactor with unnamed variables
Safe Data Sharing in Java with ScopedValue
- Safe data sharing with scoped values
- Replacing ThreadLocal - How to use ScopedValue in Java
- Challenge - Refactor to thread-safe code with ScopedValue
Advanced Java Streams with Custom Gatherers
- Advanced Java Streams - Transformations with gatherers
- Stream gatherers in action - Writing custom data collectors
- Challenge - Transform a complex Stream
Modern Java Modules
- Simplifying modular Java
- Modernizing Java projects with simplified module imports
- Challenge - Modular project cleanup import declarations
Markdown in Java Documentation
- Enhance JavaDocs with Markdown syntax
- Formatting Java documentation using Markdown best practices
- Challenge - Convert JavaDocs to clean markdown format
Conclusion
- So, should you upgrade