Skip to main content
CF

Mastering Java 17

8h 20m 27s
English
Paid

In this course, we will thoroughly explore the key innovations in Java 12, 13, 14, 15, 16, and 17. It is ideal for programmers working with Java 11 and needing to update their knowledge, as well as for those who are already using Java 17 but have not fully grasped all the nuances of the new versions. We will start with language improvements: we'll look at how NullPointerExceptions now provide more useful debugging information, explore new features of switch expressions, text blocks, pattern matching for the instanceof operator, records, and final sealed classes. Next, we will discuss performance improvements in Java 17, including the disabling of biased locking, the introduction of value-based classes, and the new garbage collectors ZGC and Shenandoah. In the final part of the course, we will focus on improvements to tools and APIs in Java 17, including enhanced pseudo-random number generators, deserialization filters, as well as enhanced JVM security through stricter encapsulation and the deprecation of the legacy Security Manager.

About the Author: Java Specialists

Java Specialists thumbnail

Java Specialists is the long-running training company of Heinz Kabutz, a South African Java performance specialist who has been publishing the Java Specialists' Newsletter since 2000 — one of the longest continuously running developer publications anywhere. His material is widely respected for depth on the JVM internals and concurrency that most Java tutorials skip.

The CourseFlix listing carries three Java Specialists courses: Mastering Java 17, Java Design Patterns, and Data Structures in Java. Material is paid and aimed at experienced Java developers who want depth on the modern language and its idiomatic patterns rather than yet another framework tutorial.

Watch Online 32 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 32 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Welcome
All Course Lessons (32)
#Lesson TitleDurationAccess
1
Welcome Demo
06:37
2
1.0. Language Improvements
02:21
3
1.1. JEP 358 - Helpful NullPointerExceptions
37:41
4
1.1.1. JEP 358 Exercise Walkthrough
10:58
5
1.2. JEP 361 - Switch Expressions
20:01
6
1.2.1. JEP 361 Exercise Walkthrough
14:17
7
1.3. JEP 378 - Text Blocks
16:16
8
1.3.1. JEP 378 Exercise Walkthrough
09:48
9
1.4. JEP 394 - Pattern Matching for instanceof
08:15
10
1.4.1. JEP 394 Exercise Walkthrough
17:18
11
1.5. JEP 395 - Records
43:08
12
1.5.1. JEP 395 Exercise Walkthrough
13:32
13
1.6. JEP 409 - Sealed Classes
30:50
14
1.6.1. JEP 409 Exercise Walkthrough
10:04
15
2.0. Performance Improvements
02:21
16
2.1. JEP 374 - Deprecate and Disable Biased Locking
21:41
17
2.1.1. JEP 374 Exercise Walkthrough
18:04
18
2.3. JEP 379 - Shenandoah - A Low-Pause-Time Garbage Collector
16:09
19
2.3.1. JEP 379 Exercise Walkthrough
14:31
20
2.2. JEP 377 - ZGC - A Scalable Low-Latency Garbage Collector
50:32
21
2.2.1. JEP377 Exercise Walkthrough
06:03
22
3.1. JEP 356 - Enhanced Pseudo-Random Number Generators
00:54
23
3.0. Tools & API Improvements
24:08
24
3.1.1. JEP 356 - Exercise Walkthrough
05:42
25
3.2. JEP 403 - Strongly Encapsulate JDK Internals
22:51
26
3.2.1. JEP 403 - Exercise Walkthrough
09:37
27
3.3. JEP 411 - Deprecate the Security Manager for Removal
16:03
28
3.4. JEP 415 - Context-Specific Deserialization Filters
10:46
29
3.4.1. JEP 415 - Exercise Walkthrough
07:56
30
3.5. Bonus Section
24:07
31
3.5.1. Bonus Section - Exercise Walkthrough
05:55
32
4.0. Conclusion
02:01
Unlock unlimited learning

Get instant access to all 31 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Books

Read Book Mastering Java 17

#TitleTypeOpen
1Java 17 PDF

Related courses

Frequently asked questions

What are the prerequisites for this course?
The course is designed for programmers who are familiar with Java 11 or Java 17. It assumes a working knowledge of Java, as it focuses on the new features and improvements introduced from Java 12 to Java 17. If you are transitioning from Java 11, this course will help you understand the updates and how they can be applied in your projects.
What projects or exercises will I be working on?
Throughout the course, you will engage in various exercise walkthroughs that cover practical applications of new features. These include working with switch expressions, text blocks, pattern matching, and records. Additionally, you will explore performance improvements through exercises on garbage collectors like ZGC and Shenandoah, and tools like enhanced pseudo-random number generators.
Who is the target audience for this course?
This course is ideal for Java developers who are either currently using Java 17 without fully understanding its features or those working with Java 11 looking to upgrade their skills to the latest Java version. It is particularly beneficial for developers aiming to leverage performance improvements and new language features in their applications.
How does this course compare to other Java courses focused on older versions?
Unlike courses focused on older Java versions, this course covers innovations from Java 12 to Java 17, including language improvements like records and sealed classes, as well as performance enhancements such as disabling biased locking and new garbage collectors. It provides a comprehensive overview of recent updates that are not covered in courses targeting earlier Java versions.
What specific tooling or platforms are addressed in the course?
The course addresses tools and API improvements in Java 17, such as enhanced pseudo-random number generators, stricter encapsulation of JVM internals, and the deprecation of the Security Manager. These tools are crucial for developers looking to optimize performance and ensure security in their Java applications.
What topics are not covered in this course?
The course does not cover basic Java programming concepts or features present in versions prior to Java 12. It focuses exclusively on the innovations introduced between Java 12 and Java 17. Developers new to Java or those looking for foundational programming instruction should consider complementary introductory courses.
How much time should I expect to commit to this course?
The course consists of 32 lessons, including exercise walkthroughs and a bonus section. While the total runtime is not specified, students should anticipate spending additional time on exercises and reviewing materials to fully grasp the new Java features and improvements. Allocating regular study sessions will enhance understanding and retention.