Migrating Java 11 to Java 17 | Java 17 New Features and Skills (TT2135)

Hands-on Java Workshop: Gain the skills required to create efficient, scalable high-performance applications using Java.

TT2135

Introductory and Beyond

1 Day

Course Overview

Overview

There have been a lot of changes in the Java programming language since the release of Java 11 in September of 2018. Migrating to Java 17 / Java 17 New Features and Skills is a one day course that focuses on the changes that will be most noticable for Java developers who will make the transition from Java 11 to Java 17. 

This course blends expert instruction and practical, hands-on experience, focusing on bridging the gap between your current Java knowledge and the latest version. Understanding that many developers are now transitioning projects from older versions of Java, this course is your key to making that shift both quickly and effectively. Throughout the course, you’ll delve into Java 17's new features, such as the innovative use of Records for data management and the enhanced String and Text Blocks for improved text handling. These topics, along with the introduction of Sealed Classes and the refined approach to Switch Expressions and Pattern Matching, are more than just updates; they are pivotal enhancements that will streamline your coding practice. The real-world labs enable you to quickly pick up useful practical skills you’ll be able to apply seamlessly into your work. 

Whether you’re upgrading existing projects or embarking on new ones, the skills and insights gained here will empower you to use Java 17 efficiently and innovatively. This course is more than just an upgrade in your Java knowledge; it's a comprehensive enhancement of your development skills, preparing you to tackle modern challenges with renewed expertise and confidence.

 

Learning Objectives

Working in an interactive learning environment, led by our expert facilitator, you’ll explore:

  • Mastering Records in Java 17: Gain a thorough understanding of how to utilize Records in Java 17 for efficient data handling, enabling you to simplify data modeling and ensure more concise and readable code.
  • Advanced String and Text Block Management: Develop the ability to effectively use the new String and Text Block features in Java 17. This includes mastering methods like strip(), isBlank(), and repeat(), as well as understanding the nuances of indentation in text blocks for improved text manipulation.
  • Implementing Sealed Classes and Interfaces: Acquire the skills to implement sealed classes and interfaces in Java 17, enhancing your ability to create more secure, type-safe, and maintainable code.
  • Utilizing Enhanced Switch Expressions and Pattern Matching: Learn to effectively use enhanced switch expressions and pattern matching for instanceof in Java 17. This skill is crucial for writing more concise and error-resistant code.
  • Efficient Exception Handling Techniques: Master the enhanced exception handling features in Java 17, such as the improved try-with-resources statement and more informative NullPointerExceptions, to write more robust and reliable Java applications.
  • Applying Modern Java Development Techniques: Develop the ability to apply these new Java 17 features in real-world scenarios. This includes integrating these skills into existing projects, enhancing your capacity to upgrade and modernize Java applications efficiently.
  • Specific Java 17 features that are covered in the course including: Switch Expressions; Text blocks; Pattern matching for instanceof; Introducing records as carrier of immutable data
  • Specific Java 21 features that are covered in the course including: Sequenced Collections; Pattern matching in Switch statements; Record Patterns

Need different skills or topics?  If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate.  Our team will collaborate with you to understand your needs and will target the course to focus on your specific learning objectives and goals.

Course Objectives

Learning Objectives

Working in an interactive learning environment, led by our expert facilitator, you’ll explore:

  • Mastering Records in Java 17: Gain a thorough understanding of how to utilize Records in Java 17 for efficient data handling, enabling you to simplify data modeling and ensure more concise and readable code.
  • Advanced String and Text Block Management: Develop the ability to effectively use the new String and Text Block features in Java 17. This includes mastering methods like strip(), isBlank(), and repeat(), as well as understanding the nuances of indentation in text blocks for improved text manipulation.
  • Implementing Sealed Classes and Interfaces: Acquire the skills to implement sealed classes and interfaces in Java 17, enhancing your ability to create more secure, type-safe, and maintainable code.
  • Utilizing Enhanced Switch Expressions and Pattern Matching: Learn to effectively use enhanced switch expressions and pattern matching for instanceof in Java 17. This skill is crucial for writing more concise and error-resistant code.
  • Efficient Exception Handling Techniques: Master the enhanced exception handling features in Java 17, such as the improved try-with-resources statement and more informative NullPointerExceptions, to write more robust and reliable Java applications.
  • Applying Modern Java Development Techniques: Develop the ability to apply these new Java 17 features in real-world scenarios. This includes integrating these skills into existing projects, enhancing your capacity to upgrade and modernize Java applications efficiently.
  • Specific Java 17 features that are covered in the course including: Switch Expressions; Text blocks; Pattern matching for instanceof; Introducing records as carrier of immutable data
  • Specific Java 21 features that are covered in the course including: Sequenced Collections; Pattern matching in Switch statements; Record Patterns

Need different skills or topics?  If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate.  Our team will collaborate with you to understand your needs and will target the course to focus on your specific learning objectives and goals.

Course Prerequisites

Audience & Pre-Requisites

This is an intermediate- level Java programming course, designed for experienced Java 11 developers who wish to get up and running with Java 17 immediately.  Attendees should have a working knowledge of developing Java 11 applications. This course is not for non-developers, or developers new to Java.

Course Agenda

Course Topics / Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most. Topics, agenda and labs are subject to change, and may adjust during live delivery based on audience skill level, interests and participation.

  1. Versions and Features
  • Quick refresh of Java versions since Java 8
  • (Non) LTS releases
  • Preview features
  • Java Language Specifications
  • Java Specification Requests
  • Java Enhancement Proposals
  • Tutorial: IntelliJ Community Edition 2023 QuickStart (Using Maven) (Eclipse also available – please inquire)
  1. Records
  • Data objects in Java
  • Introduce records as carrier of immutable data
  • Defining records
  • The Canonical constructor
  • Compact constructors
  • Lab: Records
  1. String and Text Blocks
  • Discuss the definition of whitespace in Java
  • Introduce the strip() methods of the String class
  • The isBlank() and repeat() methods introduced in Java 11
  • Using the lines() method to construct a Stream instance using a String
  • Compact strings
  • Introducing Text Blocks
  • Indentation in text blocks
  • Lab: Text Blocks
  1. Sealed Classes
  • Introduce sealed classes
  • The sealed and permits modifier
  • Sealed interfaces
  • Sealed classes and pattern matching
  • Lab: Sealed Classes
  1. Switch Expressions
  • Switch Expressions
  • Using yield
  • Discuss switch fall through
  • Lab: Switch Expressions
  1. Pattern Matching for instanceof
  • Pattern Matching for instanceof
  • Scope of variable when using pattern matching
  • Refining Patterns in switch
  • Dominance of pattern labels
  • Lab: Pattern Matching
  1. Exception Handling
  • Enhanced try-with-resources
  • Helpful NullpointerExceptions
  • Excluding parameter names in error messages
  • Lab: Helpful Nullpointers
  1. More Updates
  • Private methods in interfaces
  • The forRemoval and since attributes of the Deprecated annotation
  • Multi-release JAR files
  • Javadoc updates
  • Class-Data Sharing
  • Application Class-Data
  • CompactNumberFormat
  • Lab: Creating a Multi-Release Jar file

Course Materials

Setup Made Simple! Learning Experience Platform (LXP)

All applicable course software, digital courseware files or course notes, labs, data sets and solutions, live coaching support channels, CodeCoach.AI anytime tutor access, and rich extended learning and post training resources are provided for you in our “easy access, single source, no install required” online Learning Experience Platform (LXP), remote lab and content environment. Access periods vary by course. We’ll collaborate with you to ensure your team is set up and ready to go well in advance of the class. Please inquire about set up details and options for your specific course of interest.

Raise the bar for advancing technology skills

Attend a Class!

Live scheduled classes are listed below or browse our full course catalog anytime

Special Offers

We regulary offer discounts for individuals, groups and corporate teams. Contact us

Custom Team Training

Check out custom training solutions planned around your unique needs and skills.

EveryCourse Extras

Exclusive materials, ongoing support and a free live course refresh with every class.

Attend a Course

Please see the current upcoming available open enrollment course dates posted below. Please feel free to Register Online below, or call 844-475-4559 toll free to connect with our Registrar for assistance. If you need additional date options, please contact us for scheduling.

Course Title Days Date Time Price
Migrating Java 11 to Java 17 | Java 17 New Features and Skills (TT2135) 1 Day Apr 8 to Apr 10 10:00 AM to 06:00 PM EST $795.00 Enroll
Migrating Java 11 to Java 17 | Java 17 New Features and Skills (TT2135) 1 Day Jun 3 to Jun 5 10:00 AM to 06:00 PM EST $795.00 Enroll
Migrating Java 11 to Java 17 | Java 17 New Features and Skills (TT2135) 1 Day Aug 5 to Aug 7 10:00 AM to 06:00 PM EST $795.00 Enroll
Migrating Java 11 to Java 17 | Java 17 New Features and Skills (TT2135) 1 Day Sep 23 to Sep 25 10:00 AM to 06:00 PM EST $795.00 Enroll
Migrating Java 11 to Java 17 | Java 17 New Features and Skills (TT2135) 1 Day Nov 4 to Nov 6 10:00 AM to 06:00 PM EST $795.00 Enroll

Mix, Match & Master!
2FOR1: Two Courses, One Price!

Enroll in *any* two public courses (for 2023 *OR* 2024 dates!) by December 31, for one price!  Learn something new, or share the promo!

Click for Details & Additional Offers

Learn. Explore. Advance!

Extend your training investment! Recorded sessions, free re-sits and after course support included with Every Course
Trivera MiniCamps
Gain the skills you need with less time in the classroom with our short course, live-online hands-on events
Trivera QuickSkills: Free Courses and Webinars
Training on us! Keep your skills current with free live events, courses & webinars
Trivera AfterCourse: Coaching and Support
Expert level after-training support to help organizations put new training skills into practice on the job

The voices of our customers speak volumes

Special Offers
Limited Offer for most courses.

SAVE 50%

Learn More