Course description
Next-Level Java 11 / 13 Programming (Intermediate) | New Features, Jigsaw, JShell, Concurrency & More
Next Level Java 11 | Intermediate Java 11 Programming is a three-day, hands-on fast-track course geared for developers who have prior working knowledge 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.
Do you work at this company and want to update this page?
Is there out-of-date information about your company or courses published here? Fill out this form to get in touch with us.
Who should attend?
This is an intermediate level Java SE (JSE) developer course, designed for basic-level Java developers comfortable with Java 8 (or newer). Attendees should have a working knowledge in developing basic Java 8 applications.
Training content
Session: The Java Module system (Jigsaw)
Lesson: Why JigSaw?
- Problems with Classpath
- Encapsulation and the public access modifier
- Application memory footprint
- Java 8’s compact profile
- Using internal JDK APIs
Lesson: Introduction to the Module System
- 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
- Lab: Defining Modules
Lesson: The Module Descriptor
- Define module requirements
- Explain qualified exports
- Open modules for reflection
- Use ServiceLoader
- The provides and uses keywords
- Lab: Modules and the ServiceLoader
- Lab: Using Reflection on modules
Lesson: Working With Modules
- Being backwards compatible
- The ModulePath and ClassPath
- Unnamed Modules
- Automatic Modules
- The JLink tool
- Lab: Migrating to modules
Session: JShell
Lesson: JShell
- Introduction to JShell
- Running Expressions in JShell
- Importing packages
- Defining methods and types
- Using the JShell editor
- Save and loading state
- Lab: Working With JShell
Session: Accessing Resources
Lesson: Java Data Access JDBC API
- Connecting to the Database
- Statement and PreparedStatement
- ResultSet
- Executing Inserts, Updates, and Deletes
- Controlling Transactions and Concurrency
- Lab: Intro to JDBC
Lesson: Introduction to Annotations
- Annotations Overview
- Working with Java Annotations
- Lab: Using Annotations
Lesson: The HTTP Client API
- Making HTTP (Hypertext Transfer Protocol) requests
- Explain Incubator Modules
- HTTP2 Client API
- Introduce WebSockets
- Communicate with WebSocket endpoints
- Lab: HTTP Clients
Lesson: Introduction to CDI
- Context Dependency Injection (CDI)
- The @Inject Annotation
- The @Default Annotation
- The @Alternative Annotation
- The @Named Annotation
- Lab: Introduction to CDI
- Lab: Adding CDI Qualifiers
Lesson: Overview of JPA
- Introduce the Java Persistence API (JPA)
- Benefits of Using an ORM framework
- Hibernate and JPA
- Lab: Introduction to JPA
Session: More Java
Lesson: Other New Java Features
- Enhancements on the Optional class
- Improvements made in the Process API
- The Stack-Walking API
- The HTTP2 Client
- The Multi-Resolution API
- Lab: Working with Native processes
Lesson: Performance Optimizations
- Ahead-Of-Time Compilation
- Hotspot Diagnostic commands
- Variable and Method Handles
Session: Multithreading and Concurrency
Lesson: Multithreading
- Principles of Multithreading
- Creating a Threaded Class
- Basic Features of the Thread Class
- Thread Scheduling
- Thread Synchronization
- Lab: Simple Thread Class
- Lab: Simple Runnable Class
Lesson: Concurrent Java
- Concurrent Locks are Explicit and Flexible
- Executor Interfaces Provide Thread Management
- Challenges for Concurrent Use of Collections
- Concurrent Collections
- Atomic Variables Avoid Synchronization
- Lab: Working with Concurrent Java
- Lab: Sleeping Threads
- Lab: Safe Data Access
- Lab: Producer/Consumer
Lesson: Completable Futures
- Introducing the CompletableFuture
- The common thread pool
- Non-blocking asynchronous tasks
- Defining task callback-handlers
- Lab: CompletableFuture
Lesson: Working With CompletableFuture
- Promises
- Subclassing the CompletableFuture
- The default Executor
- New Factory methods
- Dealing with time-outs
- Handling Exceptions
Session: Reflection and References
Lesson: Introspection and Reflection
- Reflection classes
- Introspection
- Dynamic invocation of methods
- Using annotations
- Type annotations
- Receiver parameter
- Lab: Introspection and Reflection
- Lab: Reflection Server
Lesson: Reference Objects
- List the kinds of object references available in Java
- Introduce Weak, Soft and PhantomReference
- Explain the ReferenceQueue
Additional Topics: Time Permitting
Lesson: Memory Management
- Understand memory management in Java
- Discuss the various garbage collectors
- The Garbage-First (G1) Garbage Collector
- The No-Op and ZGS Garbage Collectors
Lesson: Project Lombok
- Introduce the Lombok Project
- Configure the Lombok Annotation processor
- Introduce some of the commonly used Lombok annotations
- Lab: Project Lombok
Costs
- Price: $2,495.00
- Discounted Price: $1,621.75
Quick stats about Trivera Technologies LLC?
Over 25 years of technology training expertise.
Robust portfolio of over 1,000 leading edge technology courses.
Guaranteed to run courses and flexible learning options.
Contact this provider
Trivera Technologies
Trivera Technologies is a IT education services & courseware firm that offers a range of wide professional technical education services including: end to end IT training development and delivery, skills-based mentoring programs,new hire training and re-skilling services, courseware licensing and...