▶Book Description
With its new six-monthly release cadence, Java is moving forward faster. In addition to planned version releases, a lot of work is currently being undertaken on various Java projects at Oracle. In order to make best use of the new features in their applications and libraries, you must be well-versed with the most recent advancements.
Java 11 and 12 – New Features will take you through the latest developments in Java, right from variable type inference and simplified multithreading through to performance improvements, which are covered in depth to help you make your applications more efficient. This book explains the relevance and applicability of Java's new features, and answers your questions on whether to invest in migrating to new Java versions and when to migrate. You'll also get to grips with platform features, such as AppCDS and new garbage collectors, to tune and optimize your application―from reduced launch time and latency to improved performance and throughput.
By the end of this book, you will be equipped with a thorough understanding of the new features of Java 11, 12, and Project Amber, and possess the skills to apply them with a view to improving your application's performance.
▶What You Will Learn
⦁ Study type interference and how to work with the var type
⦁ Understand Class-Data Sharing, its benefits, and limitations
⦁ Discover platform options to reduce your application's launch time
⦁ Improve application performance by switching garbage collectors
⦁ Get up to date with the new Java release cadence
⦁ Define and assess decision criteria for migrating to a new version of Java
▶Key Features
⦁ Overcome the challenges involved in migrating to new versions of Java
⦁ Discover how Oracle has bridged the gap between Java and native code
⦁ Make the best use of new Java features and libraries in your applications
▶Who This Book Is For
If you're an executive or solutions architect responsible for technology selection or Java migration decisions, this Java book is for you. You'll also benefit from this book if you're a computer science enthusiast curious to learn about the latest and upcoming Java features. This book will help you migrate your solutions from Java 8 or older to the latest Java release.
▶What this book covers
⦁ Chapter 1, Type Inference, introduces type inference with local variables, which was introduced in Java 10. You will learn how to use the var keyword and also the challenges involved.
⦁ Chapter 2, AppCDS, covers Application Class-Data Sharing (AppCDS), which extends Class-Data Sharing (CDS). You will learn about both and see them in action.
⦁ Chapter 3, Garbage Collector Optimizations, discusses the various GCs and their interfaces for efficient implementation.
⦁ Chapter 4, Miscellaneous Improvements in JDK 10, covers the features and improvements in Java 10.
⦁ Chapter 5, Local Variable Syntax for Lambda Parameters, explains the local variable syntax for lambda parameters with an introduction to the usage of var with lambda parameters. This chapter also covers its syntax and usage, along with the challenges you may face.
⦁ Chapter 6, Epsilon GC, exploreshow Java 11 introduces Epsilon, which reduces the latency in garbage collection. This chapter explains why it is required and its design considerations.
⦁ Chapter 7, The HTTP Client API, talks about the HTTP Client API, which enables your Java code to request HTTP resources over a network.
⦁ Chapter 8, ZGC, explores a new GC called ZGC, which is scalable with low latency. You will learn about its features and work through examples.
⦁ Chapter 9, Flight Recorder and Mission Control, talks about the JFR profiler, which helps to record data, and the MC tool, which helps in the analysis of the collected data.
⦁ Chapter 10, Miscellaneous Improvements in JDK 11, covers the features and improvements in Java 11.
⦁ Chapter 11, Switch Expressions, covers switch expressions, which are a basic language construct enhanced in Java 12. You will learn how to use these to make your code more efficient.
⦁ Chapter 12, Miscellaneous Improvements in JDK 12, covers the features and improvements in Java 12.
⦁ Chapter 13, Enhanced Enums in Project Amber, shows how enums introduced type safety to constants. This chapter also covers how each enum constant can have its own distinct state and behavior.
⦁ Chapter 14, Data Classes and Their Usage, covers how the data classes in Project Amber are bringing about language changes to define data carrier classes.
⦁ Chapter 15, Raw String Literals, covers the challenges that developers face when storing various types of multiline text values as string values. Raw string literals address these concerns, also significantly improving the writability and readability of multiline string values.
⦁ Chapter 16, Lambda Leftovers, shows how the lambda leftovers project is improving the functional programming syntax and experience in Java.
⦁ Chapter 17, Pattern Matching, works through coding examples to help you understand how pattern matching can change how you write everyday code.