Migrating to Java 17 | Java 17 New Features & Skills (TT2135)

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.

  • Price: $1,995.00
  • Duration: N/A
  • Delivery Methods: Virtual
Date Time Price Option
Please contact us at info@toptalentlearning.com or 469-721-6100 for this course schedule.
For questions call: (469) 721-6100

Why choose TOPTALENT?

  • Get assistance every step of the way from our Texas-based team, ensuring your training experience is hassle-free and aligned with your goals.
  • Access an expansive range of over 3,000 training courses with a strong focus on Information Technology, Business Applications, and Leadership Development.
  • Have confidence in an exceptional 95% approval rating from our students, reflecting outstanding satisfaction with our course content, program support, and overall customer service.
  • Benefit from being taught by Professionally Certified Instructors with expertise in their fields and a strong commitment to making sure you learn and succeed.

Session: Introducing Java 17

Lesson: Versions and Features

  • Overview of Java versions since Java 8
  • (Non) LTS releases
  • Preview features
  • Java Language Specifications
  • Java Specification Requests
  • Java Enhancement Proposals

Lesson: Records

  • Data objects in Java
  • Introduce records as carrier of immutable data
  • Defining records
  • The Canonical constructor
  • Compact constructors

Lesson: 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

Lesson: Switch Expressions

  • Switch Expressions
  • Using yield
  • Discuss switch fall through

Lesson: Pattern Matching

  • Pattern Matching for instanceof
  • Scope of variable when using pattern matching
  • Refining Patterns in switch
  • Dominance of pattern labels

Lesson: Sealed Classes

  • Introduce sealed classes
  • The sealed and permits modifier
  • Sealed interfaces
  • Sealed classes and pattern matching

Lesson: Exception Handling

  • Enhanced try-with-resources
  • Helpful NullpointerExceptions
  • Excluding parameter names in error messages

Session: Java Modular System

Lesson: Introducing the Java Modular System

  • Introduce the Java Modular System
  • Platform modules
  • The java.base Module
  • Modular Development
  • (Not) using Internal APIs

Lesson: The Module Descriptor

  • The module descriptor module-info.java
  • Defining module dependencies
  • Readability and Accessibility
  • Transitive dependencies and implied readability
  • Exports and Accessibility
  • Qualified exports
  • Validity of the Module system

Lesson: Working with Modules

  • Open modules for reflection
  • Encapsulation and loose coupling
  • Utilizing the ServiceLoader
  • The ‘provides’ and ‘with’ reserved words

Lesson: jdeps, jlink and jpackage

  • Module Path vs Class Path
  • Unnamed modules
  • Using jdpes to discover class and module dependencies
  • Using jlink to create Self-Contained Java Applications
  • Using jpackage to Create Native Java App Installers

Session: Working with Java 17

Lesson: Updates to Collections and Streams

  • Introduce enhancements to the Collection API
  • Unmodifiable Collections
  • Introduce new functionality of the Stream API
  • Explain new intermediate Stream operations (takeWhile, dropWhile)
  • Collecting Stream elements into list using the new toList method

Lesson: Local Variable Type Inference

  • Explain type inference
  • Infering types of local variables
  • The var reserved type name
  • Benefits of using var
  • Backward compatibilty

Lesson: More Updates

  • private methods in interfaces
  • The forRemoval and since attributes of the Deprecated annotation
  • CompactNumberFormat
  • Enhanced Pseudo-Random Number Generators

This course combines expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises.  Working in a hands-on learning environment led by our expert instructor, you will learn:

  • The difference between LTS and non-LTS versions
  • The (dis)advantages of preview features
  • How to implement data objects using the new record type
  • How to improve memory consumption through the use of compact Strings
  • The use of the new strip and inBlank methods of the String class
  • To define and use multi-line text blocks
  • To use switch expressions to assign value
  • To appy the yield keyword in a switch statement
  • The concept of pattern matching
  • How to apply pattern matching for instanceof
  • All about sealed classes and interfaces
  • Enhancements made to the try-with-resources construct
  • To use the new Helpfull Nullpointer exceptions
  • The thoughts behind the Java Modular system
  • How to define and use modules
  • How to use the ServiceLoader mechanism
  • How to use the jdeps, jlink and jpackage tools to define self-contained Java applicaitons
  • Methods added to the Collection and Stream API since Java 8
  • The use of the var keyword and local variable type inference
  • Private methods in interfaces
  • The updated Deprecated method
  • CompactNumberFormat

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

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

Students sholuld have incoming skills equivalent to or should have attended this course as a pre-requsite:

  • TT2104-J8 Fast Track to Java 8 Programming for OO Experienced Developers

Ten (10) business days’ notice is required to reschedule a class with no additional fees. Notify TOPTALENT LEARNING as soon as possible at 469-721-6100 or by written notification to info@toptalentlearning.com to avoid rescheduling penalties.

Please contact our team at 469-721-6100; we will gladly guide you through the online purchasing process.

You will receive a receipt and an enrollment confirmation sent to the email you submitted at purchase. Your enrollment email will have instructions on how to access the class. Any additional questions our team is here to support you. Please call us at 469-721-6100.

If a student is 15 minutes late, they risk losing their seat to a standby student. If a student is 30 minutes late or more, they will need to reschedule. A no-show fee will apply. Retakes are enrolled on a stand-by basis. The student must supply previously issued courseware. Additional fees may apply.

You will receive a ‘Certificate of Completion’ once you complete the class. If you purchased an exam voucher for the class, a team member from TOPTALENT LEARNING will reach out to discuss your readiness for the voucher and make arrangements to send it.