Migrating to Java 25 | Java 25 New Features and Skills (TT2137)
Fast-paced, hands-on course designed for developers with prior experience in earlier versions of Java who need to quickly get up to speed with the latest innovations.
Fast-paced, hands-on course designed for developers with prior experience in earlier versions of Java who need to quickly get up to speed with the latest innovations.
More Information:
- Learning Style: Virtual
- Learning Style: Course
- Difficulty: Beginner
- Course Duration: 1 Day
- Course Info: Download PDF
- Certificate: See Sample
Need Training for 5 or More People?
Customized to your team's need:
- Annual Subscriptions
- Private Training
- Flexible Pricing
- Enterprise LMS
- Dedicated Customer Success Manager
Course Information
About This Course:
There have been significant advancements in the Java programming language since the release of Java 8 in March of 2014. This one-day course focuses on the features and improvements that are most impactful for developers who are transitioning to Java 25, including enhancements to the language such as records, sealed classes, switch expressions, pattern matching, flexible constructors, module import declarations, and scoped values.
This is a fast-paced, hands-on course designed for developers with prior experience in earlier versions of Java who need to quickly get up to speed with the latest innovations. The course emphasizes not only how to use these new features, but also best practices for adopting them in real-world projects to write cleaner, more maintainable, and more efficient code.
This is not just a class about the differences between Java 21 and Java 25. To give participants the full context, the course also reviews key enhancements introduced since Java 8, including the Java Module System, text blocks, records, and sealed classes. Many of these earlier innovations laid the groundwork for the modern features now solidified in Java 25, and understanding their evolution helps developers appreciate the design choices in the current release.
By the end of the course, participants will be equipped with the skills to confidently modernize their applications, make the most of new Java 25 capabilities, and ensure smooth migration paths from legacy Java versions to the latest platform.
Course Objectives:
This skills-centric course is approximately 50% hands-on lab and 50% lecture, designed to train attendees in advanced Java development skills by combining the most current techniques with proven industry practices. Working in an engaging, hands-on learning environment guided by our expert instructors, attendees will learn to:
-
Distinguish between LTS (Long-Term Support) and non-LTS Java versions.
-
Evaluate the advantages and disadvantages of using preview features in production environments.
-
Implement data objects using the record type to simplify immutable class creation.
-
Improve memory consumption and efficiency through the use of compact strings.
-
Apply the new strip() and isBlank() methods in the String class to handle whitespace effectively.
-
Define and use multi-line text blocks for cleaner string formatting.
-
Use switch expressions to assign values and simplify branching logic.
-
Understand the concept of pattern matching and how it improves code readability.
-
Apply pattern matching for instanceof to streamline type checking.
-
Use pattern matching in switch statements to simplify conditional logic.
-
Design applications using sealed classes and interfaces to enforce controlled inheritance hierarchies.
-
Review and apply the Java modular system (Project Jigsaw) for scalable application design.
-
Explore virtual threads to simplify concurrent programming and improve application scalability.
Specific Java 25 features that are covered in the course include:
-
Utilize scoped values as a safer, lightweight alternative to ThreadLocal for passing data across threads.
-
Take advantage of module import declarations to make modular code more readable and maintainable.
-
Implement flexible constructor bodies to gain more control over object initialization.
-
Experiment with compact source files and instance main methods to reduce boilerplate and simplify beginner-level or quick-start applications.
Audience:
-
This course is designed for professional Java developers who are already proficient in the language and want to update their skills to take advantage of the features introduced through Java 25. It is particularly well-suited for developers who have been working with Java 8 or later and are now preparing to modernize their applications or development practices.
-
The class is ideal for individuals responsible for maintaining legacy systems, transitioning projects to newer Java releases, or adopting modern Java techniques to improve code clarity, scalability, and performance. Team leads, senior developers, and architects will also benefit from understanding how newer Java features fit into enterprise development and long-term platform strategy.
Prerequsites:
-
This course is intended for experienced Java developers who already have a solid working knowledge of the language. Because this course builds on the evolution of the platform, participants are expected to be familiar with Java 8 features and constructs, including lambda expressions, the Stream API and functional interfaces. Prior experience with modern IDEs and build tools is also assumed.
-
This is not a beginner’s course; it is designed for developers who are already productive in Java and want to upgrade their skills to take advantage of new features through Java 25.