
JAVA 9.0 To 13.0 New Features
Learn, Implement and Migrate to New Version of Java
- English
- ePUB (mobile friendly)
- Available on iOS & Android
About this book
A comprehensive guide to study the version updates from JDK9.0 to JDK13.0 Key Features
- Learn the journey of Java from its initial days till date.
- Learn how to implement modular programming in Java9.
- Study the updates in different versions of Java from version 9.0 to 13.0.
- Understand the need and working of reactive programming.
- Learn to migrate the pre-existing Java code to new versions.
- Learn how to use jshell to test a new API before using in a project.
Description
Version release is one of the important phases of success of any programming language. Over the years, Java had made many improvements in its API to make to reliable and flexible to use. This book aims at providing you information related to all the updates from JDK9.0 to JDK13.0 in one place.This book starts with a brief history of Java. It covers how Java has evolved as a complete programming language over the years by launching different versions. You will learn the concept of module system and other important concepts introduced in JSE9.0 and JSE10.0. Moving ahead, the book will take you through updates in JDK11.0. Concepts like Epsilon, ZGC, and Nest-Based access control have also been discussed.Though the version updates are good to learn, they create complexities in updating the existing code to make it compatible with the new version. This book talks in detail about how you can migrate your legacy code to match up with the new versions. It also covers how to use jshell, a tool used to test your code snippet without writing the complete application class, with numerous examples. Further, this book covers in detail the concept of reactive programming. Concepts like publisher, subscriber, subscription and back-pressure have been discussed with examples.At the end of the book, you will learn about the very recent updates which have been released by Java. The chapters talk about JDK12.0 and JDK13.0. They cover concepts like Shenondaoh, microbenchmark suit, modified switch expression from JDK12.0. Though, Java13 is still a hot-plated dish, this book gives you a fair idea about what are the new updates which have been proposed in this version. What You Will Learn
By the end of this book, you will be able to implement the updates provided in different versions of Java. This book has covered the updates from version 9.0 to 13.0. You will be able to work with the Java Module System. You will be able to test the new API using jshell. Along with this, you will be able to migrate your legacy code to match the recommendations of new versions of Java. Who This Book is For
This book covers the new version updates in Java. So, prior knowledge of Java is recommended before reading this book. Though we are covering the versions from JSE9.0 onwards, it is not necessary that the reader should be expert in the earlier versions. If you are keen to know the recent developments in Java API, this is the perfect book for you. Table of Contents
1. Insights of Versioning
2. What's new in Java9
3. Understanding JDK10 – Step towards JDK11
4. Dive in JDK11
5. Migrating the code
6. Working with JShell
7. Reactive Programming and Concurrency Updates
8. What next in Java12
9. Introduction to Java13 About the Author
Mandar Jog is a passionate Java Trainer with over 15 years of experience in retail and corporate training. He has global certifications like SCJP and SCWCD. His areas of expertise are Java, J2EE (Spring, Hibernate). He has delivered more than 500 training sessions on Core Java, Web Technologies, Hibernate, Spring Boot, Angular, etc. LinkedIn Profile: https://www.linkedin.com/in/mandar-jog-0ba9a01b/
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
CHAPTER 1
Insight of Versioning
Introduction
Structure
- Different versions of Java
- New versioning: time-based release versioning
Objective
Project Green: the beginning
Versions of Java
java.langjava.iojava.utiljava.net
- Java archive (JAR) file format
- Inner classes
- Internationalization
- Math package
- Object serialization
- Remote method invocation
- Faster memory allocation and garbage collection: Memory allocation in heap was a concern, which was read by using thread-local cache. So, every time there was no need for locking the majority of the heap allocation. Also, constant strings were shared among different classes, reducing the unnecessary duplicate string object creation.
- Native libraries: As JVM is not platform dependent, many a times the native libraries were not uniform. In this version, such libraries which supported core java classes were re-written using Java Native Interface (JNI).
- Solaris native thread support: Java had given the ability to the kernel so that it could schedule native threads over parallel processors. This made concurrency cheaper.
- Collection framework: A collection is a group of objects embedded in a single unit. Before JDK 1.2, developers were using arrays, vectors, or hash tables. Though these objects were giving the services, there were no common interfaces or methods shared between them, because of which developers were required to use different methods for accessing different collections.To overcome this complexity, Java came up with common interface structure in the format of collection framework API. This API consists of different interfaces like set, list or map. The classes implementing these interfaces provided a common set of methods, because of which developers could use the services more effectively.
strictfpkeyword:Working with floating point data type had always been vulnerable, prior to JDK1.2. Floating point data was platform dependent, because of which the precision of the floating-point data was not guaranteed. The keywordstrictfpresolved this issue which follows the IEEE 754 standards.
- Just in Time (JIT) compiler implementation
- Java plug-in
- Swing graphical API
- Jar indexing: When the application is spread out in multiple JAR files, at runtime it becomes difficult for the application to find the required classes. Thi...
Table of contents
- Cover Page
- Title Page
- Copyright Page
- Dedication
- About the Author
- Acknowledgement
- Preface
- Errata
- Table of Contents
- 1. Insight of Versioning
- 2. What’s New in Java 9
- 3. Understanding JDK 10 - Step towards JDK 11
- 4. Dive in JDK 11
- 5. Migrating the Code
- 6. Working with JShell
- 7. Reactive Programming and Concurrency Updates
- 8. What’s New in Java12
- 9. Introduction to Java 13
- Index