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.
Intermediate Java Programming | New Java Features, Jigsaw, JShell, Concurrency & More
Course Description
Overview
Explore Modular Application, Application Monitoring and Optimization, Using JShell, CDI, JPA, Project Lombok and More.Next Level Java 11 Programming is hands-on fast-track course geared for experienced developers who have prior working of basic Java who want to take advantage of the newest features of Java 11 that can help them improve performance and functionality of their Java applications. Students will explore and learn how to leverage Modules, scale applications into multi-core environments, improve performance, and become a more effective Java developer.
This “skills-centric” course is about 50% hands-on lab and 50% lecture, designed to train attendees in advanced development skills, coupling the most current, effective techniques with the soundest industry practices. Students will leave this course armed with the required skills to improve their Java applications using sound coding techniques and best practices.
Objectives
- Develop modular applications in Java
- Explore the Module service loader
- Utilize the tooling that is provided in Java 11 to migrate, monitor and optimize applications
- Use the new JShell tool to quickly test java constructs
- Develop multi-threaded applications
- Work with the CompletableFuture instances introduced in Java 8
- Use JDBC to read, write and update records in a relational database
- Use the HTTP Client API introduced in Java 11
- Explore the Dependency Injection (CDI) and Persistence (JPA) API
- Apply the Introspection and Reflection APIs
- Understand the importance of Reference Objects
- Utilize Project Lombok
Audience
Prerequisites
-
Students should have practical skills equivalent to or should have received training in the following topic(s) as a prerequisite:
- TT2104-J8 Fast Track to Java 8 Programming for OO Developers (such as C+, C#, etc.) (Or Java 11 Edition)
- TT2100-J8 Introduction to Java 8 Programming for OO Developers (such as C+, C#, etc.) (Or Java 11 Edition)
Topics
- Problems with Classpath
- Encapsulation and the public access modifier
- Application memory footprint
- Java 8’s compact profile
- Using internal JDK APIs
- Introduce Project Jigsaw
- Classpath and Encapsulation
- The JDK internal APIs
- Java 9 Platform modules
- Defining application modules
- Define module dependencies
- Implicit dependencies
- Implied Readability
- Exporting packages
- Define module requirements
- Explain qualified exports
- Open modules for reflection
- Use ServiceLoader
- The provides and uses keywords
- Being backwards compatible
- The ModulePath and ClassPath
- Unnamed Modules
- Automatic Modules
- The JLink tool
- Introduction to JShell
- Running Expressions in JShell
- Importing packages
- Defining methods and types
- Using the JShell editor
- Save and loading state
- Connecting to the Database
- Statement and PreparedStatement
- ResultSet
- Executing Inserts, Updates, and Deletes
- Controlling Transactions and Concurrency
- Annotations Overview
- Working with Java Annotations
- Making HTTP (Hypertext Transfer Protocol) requests
- Explain Incubator Modules
- HTTP2 Client API
- Introduce WebSockets
- Communicate with WebSocket endpoints
- Context Dependency Injection (CDI)
- The @Inject Annotation
- The @Default Annotation
- The @Alternative Annotation
- The @Named Annotation
- Introduce the Java Persistence API (JPA)
- Benefits of Using an ORM framework
- Hibernate and JPA
- Enhancements on the Optional class
- Improvements made in the Process API
- The Stack-Walking API
- The HTTP2 Client
- The Multi-Resolution API
- Ahead-Of-Time Compilation
- Hotspot Diagnostic commands
- Variable and Method Handles
- Principles of Multithreading
- The Thread class and Runnable interface
- Explore thread synchronization
- Introduce the Java Concurrency API
- Thread management using Executors
- The common thread-pool
- Submitting and controlling asynchronous tasks
- Explore the locking API
- The Completable Future
- Define non-blocking processes
- Exception handling in multithreaded processes
- The Fork-Join framework
- Reflection classes
- Introspection
- Dynamic invocation of methods
- Using annotations
- Type annotations
- Receiver parameter
- List the kinds of object references available in Java
- Introduce Weak, Soft and Phantom Reference
- Explain the Reference Queue
- Additional Topics: Time Permitting
- Understand memory management in Java
- Discuss the various garbage collectors
- The Garbage-First (G1) Garbage Collector
- The No-Op and ZGS Garbage Collectors
- Introduce the Lombok Project
- Configure the Lombok Annotation processor
- Introduce some of the commonly used Lombok annotations
Related Courses
-
Java for Advanced Programmers
EJCJ-361- Duration: 3 Days
- Delivery Format: Classroom Training, Online Training
- Price: 1,755.00 USD
-
Programming Fundamentals Using Java
EJCJ-380- Duration: 4 Days
- Delivery Format: Classroom Training, Online Training
- Price: 2,340.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.