Solution-driven Approach to Learn Java Versions From 9.0 to 17.0


  • Provides pre-built solutions for developing application using  the Java versions from 9.0 to 17.0.
  • Includes case studies to help you learn how to write code and construct projects efficiently.
  • Acquaint yourself with Java modular system, records, text blocks. compact number formatting, modified collection API.


This book is developed to bring various capabilities of Java across versions from Java 9.0 to 17.0 in the development of end to end Java applications. This book will help any Java user interested in learning how to use each significant feature available in various Java versions.

This book is packed with information that is useful for Java experts. It includes many recipes and features you may implement, including type reference, local variable syntax, and single-file source code programs. Each recipe in the book strengthens the technical understanding and introduces the reader to some of the most recent features, such as the Application Class Data Sharing, switch expressions, hidden classes, and many others. The book also includes examples of our implementation of these features such as sealed classes, pattern matching, null pointer exceptions, a dynamic CDS archive, and text blocks.

Each chapter covers a single major release of Java, from 9.0 to 17.0 , to make the learning process more manageable and streamlined. 


  • Understanding the significance of modules and how to construct and interact with them.
  • Mastering the use of record classes and the modified switch case expression.
  • Learning various collection changes, such as creating immutable collections, etc.
  • Practising the use of hidden classes and text blocks.
  • Finding out how to apply filters to the serialization and deserialization processes.


This book is written for all of the Java professionals who are interested in exploring every potential that Java has to offer across all of its many versions. Before reading this book, you should have a solid grasp of fundamental Java concepts.