Java 17 - The Cool New Features Introduced Since Java 11
Published 1/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 811.56 MB | Duration: 1h 54m
Published 1/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 811.56 MB | Duration: 1h 54m
Master important Java features: Sealed Classes; Records; switch expressions and pattern matching; Text blocks. [2023]
What you'll learn
Sealed classes: customize an inheritance hierarchy using sealed classes and interfaces.
Records: save yourself time and effort by utilizing records for data-centric classes.
Switch expressions: understand how they work and how to use the 'yield' keyword.
Pattern matching: for both 'switch' and 'instanceof'.
Text blocks: their advantages and how to code them.
Preview features: understand what they are and how to enable them in IntelliJ.
Requirements
Intermediate Java experience.
Access to an IDE such as Netbeans, Eclipse or IntelliJ.
Description
Java has three major LTS (Long Term Support) releases - Java 8, Java 11 and Java 17.I already have 2 Java courses. One covers Java fundamentals: "Complete Java 8 OCA (1Z0-808) Java Certification Course". The other builds on that course and covers advanced Java, right up to Java 17: "Java 17, Java 11, Advanced Java 8, (1Z0-829, 1Z0-819, 1Z0-809)".This new 2023 course is specific to Java 17 and contains the new topics that have been added since Java 11 i.e. it covers the releases 12, 13, 14, 15, 16 and 17. The topics are listed below:Sealed classes - find out how to customize/scope your inheritance hierarchy.Records - save yourself a lot of typing by using records to generate boiler plate code.switch expressions and pattern matching - understand what switch expressions are and how to use pattern matching for both switch statements and expressions. switch expressions also introduced the yield keyword; understand how to use it. Pattern matching is used by both switch and instanceof. As pattern matching switch is a preview feature in Java 17, how to enable this feature in an IDE is shown.Text blocks - multi-line text can be tedious and error prone with lots of newlines and escaping of the double quotes. Text blocks help in both scenarios by making the code a lot easier to write and therefore maintain.Assignment - there is a coding assignment that incorporates all of the topics above.Additional Content - equals() and hashCode() methods are explained in detail as Records generates default implementations of these methods. Records are immutable so immutable classes are also explained (along with the much misunderstood call-by-value principle). This leads naturally on to Advanced Encapsulation as mutable instance fields can break encapsulation. In addition, the assignment presents a UML diagram with instructions - for those new to UML there are three videos outlining it.By way of background, I am a PhD-qualified University lecturer since 2002. For over a decade, I have taught Java on a bespoke Masters on behalf of a highly regarded software company. I have recently co-authored a book called "Java Memory Management: a comprehensive guide to garbage collection and JVM tuning" with Maaike van Putten.I love teaching and this course has all my experience in explaining advanced concepts of Java. In addition, I have a strong attention to detail which lends itself perfectly to the Oracle Java Certification exams. I am delighted that Enthuware, in their explanations, have linked to my YouTube channel.
Overview
Section 1: Introduction
Lecture 1 Introduction
Section 2: Sealed Classes
Lecture 2 Sealed Classes
Section 3: Records
Lecture 3 Records
Section 4: switch expressions and pattern matching
Lecture 4 switch expressions and pattern matching
Section 5: Text blocks
Lecture 5 Text blocks
Section 6: Assignment
Section 7: Additional Content
Lecture 6 equals()
Lecture 7 hashCode()
Lecture 8 Immutable Classes and Call By Value
Lecture 9 Advanced Encapsulation (defensive copying)
Lecture 10 From UML to code (1 of 3) - Interpreting the UML (taken from my Java 8 course)
Lecture 11 From UML to code (2 of 3) - the Instructions (taken from my Java 8 course)
Lecture 12 From UML to code (3 of 3) - Solution (taken from my Java 8 course)
Intermediate Java developers who want to know what has been introduced into Java since the last LTS i.e. Java 11.