Video description
4+ Hours of Video Instruction
Java 9 introduces new features and functions that will make your code simpler and easier to read and will make for better deployment and documentation as well. There are also a number of changes, however, that might have unexpected consequences for your applications. This video covers the advantages of Java 9 and how to manage risks when migrating an application to this version.
Description
In Moving to Java 9 LiveLessons, Java Champion Trisha Gee introduces the key new features and shows how to migrate existing Java 8 applications to Java 9 in order to make use of these powerful features.
You will learn how Java 9 enables:
- More secure applications
- Better design through improved encapsulation and separation of concerns
- Cleaner, easier to read code
After quickly showing how to check your existing Java 8 code for compatibility before switching to Java 9, Trisha then reviews how Java 9 Modules work, what they are, why you might use them, and how to make your applications modular. In this training, she also covers what Reactive Streams are and how and where to use them, before moving on to look at JShell, the Java REPL.
Along the way, Trisha discusses the many advantages of switching to Java 9, including:
- Better use of memory
- Better performance of secure applications, locking, and graphics.
- Better use of hardware
- Better and easier to navigate documentation
- Prettier graphics, particularly for Windows and Linux
- Faster compilation
Related Code Files:
The code for this training can be found at https://github.com/trishagee/sense-nine.
About the Instructor
Trisha Gee has developed Java applications for a range of industries, including finance, manufacturing, technology, open source, and non-profit, for companies of all sizes. She has expertise in Java high-performance systems, and is passionate about enabling developer productivity. Trisha blogs regularly on subjects that she thinks developers and other humans should care about. She’s a leader of the Sevilla Java User Group, a key member of the London Java Community and a Java Champion.
https://twitter.com/trisha_gee
https://es.linkedin.com/in/trishagee
Skill Level
What You Will Learn
- How best to prepare your application for Java 9
- What is Jigsaw and the Java Platform Module System
- What is the Reactive Streams API and why is it useful
- What is a REPL and how to use JShell
Who Should Take This Course
Java developers who are working on an existing system. From a technical point of view, this is suitable for developers working with Java every day, but senior/lead developers and architects will find this talk useful to decide whether to apply these changes in their applications, and to provide guidance to the rest of their teams.
Course Requirements
- Experience with the Java Programming language
Lesson Descriptions
LESSON 1: Getting Ready for Java 9
In this lesson, you look at what you can do to prepare your application for Java 9 without even having to use it. You look at which compiler warnings in Java 8 should be addressed and how to fix them. You see how to use the jdeps tool to find code that needs to be updated before you can use Java 9. You also step through an example of compiling a project in Java 9 that hasn't been through these steps to see what kind of problems you might face.
LESSON 2: The Java Platform Module System
Project Jigsaw and Java Modularity are the big ticket items for Java 9, so in this lesson you take a look at what these are. First, you find out what Project Jigsaw is and how this differs from the Java Platform Module System. Next, you walk through a simple example of creating a modular application, and you use the link tool to create a very small image of Java and our application. Then you migrate an existing application to use the Java Module System. You see how visualizing dependencies and modules can help you to better understand the design, and finally wrap up the lesson with a summary of the advantages and disadvantages of migrating to using JPMS.
LESSON 3: Reactive Programming with Java 9
This latest version of Java comes with the Reactive Streams API as part of the language, so first you need to understand what this is and what it means. You take a look at how your existing application could benefit from using the Reactive Streams API and show how to use it in your architecture. You then use two different Reactive libraries within your application to see what you can do with Reactive Programming. Finally, you explore how Reactive Streams are different from Java 8 Streams.
LESSON 4: JShell, the Java REPL
A Read Eval Print Loop for Java is a new way of working, so you need to understand what a REPL is and what it provides. You also take a quick look at how the introduction of a REPL can change the way you work inside your IDE.
LESSON 5: API Changes in Java 9
In this lesson, you learn about the wide variety of small language changes in Java 9 that are going to help you. First, you have Convenience Factory Methods for Collections, then the small changes from Milling Project Coin. You play with two new methods on the Streams API, take a look at the new methods on Optional, and go through practical examples of using the new Stack Walking API and the updates to the Process API.
LESSON 6: Other Interesting Changes in Java 9
In this lesson, you cover pretty much everything else in Java 9 you should be aware of that you haven't already looked at, including multi-release JAR files, the updated deprecation, updates to Javadoc, and other changes that might impact your application.
About Pearson Video Training
Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Prentice Hall, Sams, and Que Topics include: IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at http://www.informit.com/video.
Table of Contents
Introduction
Moving to Java 9: Introduction
Before You Begin
Before You Begin
Lesson 1: Getting Ready for Java 9
Learning objectives
1.1 Fixing warnings in Java 8 and using JDeps
1.2 Compiling with Java 9
Lesson 2: The Java Platform Module System
Learning objectives
2.1 What is Jigsaw?
2.2 What is the Java Platform Module System (JPMS)?
2.3 Creating Modules
2.4 JLINK
2.5 Introducing Modules to existing code
2.6 Using jdeps to identify Module dependencies
2.7 Visualizing dependencies
2.8 JPMS—pros and cons
Lesson 3: Reactive Programming with Java 9
Learning objectives
3.1 Reactive Streams in Java 9
3.2 Using Reactive Streams
3.3 The Power of Reactive Programming
3.4 Reactive Streams vs Java 8 Streams
Lesson 4: JShell, the Java REPL
Learning objectives
4.1 What is a REPL and what does it give us?
4.2 Using the REPL inside IntelliJ IDEA
Lesson 5: API Changes in Java 9
Learning objectives
5.1 Convenience Factory Methods for Collections
5.2 Milling Project Coin
5.3 New Methods on the Streams API
5.4 New Methods on Optional
5.5 Stack Walking API
5.6 Process API Updates
Lesson 6: Other Interesting Changes
Learning objectives
6.1 Multi Release JAR Files
6.2 Updated Deprecation
6.3 Javadoc updates
6.4 Javadoc features that may impact your application
Wrap Up
Wrap Up
Summary
Moving to Java 9: Summary