title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.
Java Modules and New Features (Java 11+)
Course Description
Overview
This course provides in-depth coverage of the important new features through Java 11 LTS. It also provides an overview of useful new features in Java 12+ that are likely to appear in Java 17 (the next LTS release). Technical coverage starts with the new Java Platform Module System (JPMS), which presents a fundamental shift in how applications are organized, and interconnected to the libraries they use. We introduce modules from the ground up, show how to use them, describe your choices in usage, as well as caveats and pitfalls. We also provide guidelines for migration from non-modular applications. This course is very hands-on, including numerous code examples and programming labs that reinforce the concepts presented, so that attendees can immediately employ what they’ve learned in their current projects.Objectives
Audience
Prerequisites
-
Working knowledge of Java programming, including use of inheritance, interfaces, and exceptions
Topics
- Agenda
- Conventions
- Java Release Cycle
- and Support - Illustrated
- Update Schedule - By Example
- Modules and JDK Version Numbers
- In
- In
- Out
- Out
- Out
- - for Removal
- to Move to Java Modules?
- in Java 9+
- 0.0: Getting Started
- Objectives
- before Java Modules
- Natural Progression of Organization
- Encapsulation
- Encapsulation - Not in Java 8
- Use Only - Case Study
- Model vs. Runtime Model
- Model vs. Runtime Model
- Hell
- of the Module Paradigm
- Graphs
- Java Modules
- Encapsulation - Realized in Java 9
- Name vs. Package Name
- and Director Structure
- Projects and the Module Path
- Can Be Controversial
- 1.1: First Module Project
- of Modules - Defined
- Modules
- Modules
- Modules
- Modules - Why?
- Module
- Module - Why?
- KDL - Different, Yet Compatible
- SE vs. JDK - Not the Same!
- Modules - java.base and java.se
- of the Modular JDK
- Work
- Study
- 1.2: Simple Migration
- Objectives
- Applications
- 2.1: Modular Application
- Graphs
- Module and Module Graph
- Graph in a Real library - Derby JDBC
- Graph in the Java Platform - java.se
- Dependencies
- Modules
- Exports
- up Deep Reflection
- Encapsulation - Summary
- Overview
- - UML Diagram
- before Modules
- with Modules
- Class - Example
- Interface - Example
- Provider - Example
- - Example
- 2.2: Services
- / Gradual Adoption
- with Private (Deep) Reflection
- Issues
- and Unnamed Modules - Revisited
- Migration Path
- Migration Path - Illustrated
- Packages
- I Just Ditch the Classpath?
- Line Directives
- 2.3: Migration
- - It's Not Conclusive!
- Support
- Tools and Dependencies
- about Module Versions?
- Support
- and Testing
- Java EE
- Module or Not to Module?
- Module or Not to Module?
- is slow - Mid 2019 Stats
- Resources
- 2.4: Multi-Module Maven Project [Optional]
- Objectives
- Comes to Java
- var in for-each Loops
- Continuation of Type Inference in Java
- Local-Variable Type Inference
- Interface - Defined
- a Method Down to is Essence
- Expression as Functional Interface
- Interfaces and Lambdas
- Occur in a Target Context
- in JUnit - Executable
- in Collections - Consumer<T>
- Expression Syntax - Overview
- Compatibility
- Expression Syntax - Details
- Expression Syntax - Details
- Syntax for Lambdas
- var with Lambdas
- 3.1: Using var [Optional]
- Objectives
- Comes to Java
- Operations and Commands
- Learning
- Started with JShell
- Points
- Snippets
- Work with Snippets - Date/Time API
- the Stream API On-the-Fly
- Commands
- Methods
- Code
- an External Editor
- for Creating New Code
- As You Go
- Modes
- External Classes
- External Classes
- with JavaTunes Modules
- up for JavaTunes Work
- Objectives
- Clients in Java - Existing Options
- RESTful Services
- Java HTTP Client
- HTTP Client - Features
- Main Players
- Simple Example
- Tips - Builders and Products
- Tips - Nested Classes
- Tips - Interfaces and Factory Classes
- the Client
- the Request
- a Request Body
- Request / Response
- the Response
- 5.1A: HTTP Client
- Options for the Response Data
- the Response - Example
- Requests
- with Asynchronous Responses
- with Asynchronous Responses
- 5.1B: HTTP Client
- 5.2: REST Client Demo [Optional]
- Objectives
- Factory Methods
- and Set.of()
- Entirely New
- Just Convenient - More Efficient
- to Support Multiple Releases of Java
- JARs - MR-JARs
- - Illustrated
- Layout - Simplest
- an MR-JAR
- API Principle
- Strategies
- Tools Support for MR-JARs
- with Caution
- 6.1: MR-JAR Demo [Optional]
- Programming Overview
- (Pull) - Synchronous
- (Push) - Asynchronous
- Programming - Observer Plus
- Streams - Overview
- API - Main Players
- of the Flow API
- Methods in Interfaces
- API Enhancements
- Methods in the Platform API
- Methods in the Platform API
- Expressions (Java 12-14+)
- Expression Detail
- Number Formatting
- Collection (GC)
- Garbage Collection (ZGC)
- Comparison G1 and ZGC
- Objectives
- Runtimes
- Runtime Images with jlink
- 7.1: Custom Runtime Images [Optional]
- of What We've Done
- of What We've Done
Related Courses
-
Programming Fundamentals Using Java
EJCJ-380- Duration: 4 Days
- Delivery Format: Classroom Training, Online Training
- Price: 2,340.00 USD
-
Java 8 New Features
EJCJ-590- Duration: 2 Days
- Delivery Format: Classroom Training, Online Training
- Price: 1,170.00 USD
Self-Paced Training Info
Learn at your own pace with anytime, anywhere training
- Same in-demand topics as instructor-led public and private classes.
- Standalone learning or supplemental reinforcement.
- e-Learning content varies by course and technology.
- View the Self-Paced version of this outline and what is included in the SPVC course.
- Learn more about e-Learning
Course Added To Shopping Cart
bla
bla
bla
bla
bla
bla
Self-Paced Training Terms & Conditions
Exam Terms & Conditions
Sorry, there are no classes that meet your criteria.
Please contact us to schedule a class.
STOP! Before You Leave
Save 0% on this course!
Take advantage of our online-only offer & save 0% on any course !
Promo Code skip0 will be applied to your registration
Purchase Information
title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.