Goals
- Know and master advanced language concepts
Program
Permgen space disappearance Default
methods
Repeated annotations, type annotations Method references, Interface with default
methods Interface private methods Freeing
resources
CompletableFuture API
Garbage collector improvements
Modularity of the jdk
Workshop: Environment installation – functionalities demonstration – code profiling and performance improvement.
Handling dates and durations with the new time API
Weaknesses of the current library
New classes and interfaces
Technical choice between durations, instants and local dates
Management of time zones
Formatting
Workshop: Use and formatting of dates, operations on dates and durations
Lambda expressions: definition, interest
Writing rules, declarations
Functional interface: principle, compatibility
Access to the state encompassing a lambda expression
Implementation and performance.
Evolution of the Atelier Collection API
: use of new patterns and functional interfaces introduced since Java 8
New features
Use of Patterns for-each, replace-if, do-if-absent, do-if-present
Merging of
Stream API collections : principle, interest
Patterns for creating streams
Intermediate and terminal operations on streams
Management of specific cases: empty streams, optional
Use of parallel streams
Workshop: use of streams with different collectors – use of resources with parallel streams – use of patterns
Genericity: typing principle, uses
Generic classes and constraints on types
Implementation of generic methods Generic
interfaces and polymorphism
Reflection and available classes
Dynamic introspection of objects
Invocation of members of an object
Dynamic instantiation of objects
Workshop: writing generic methods to manage imports / exports and serializations of data – Patterns and genericity
Nashorn: presentation, use case
jjs command line
JavaScript code interpretation
Calling Java code from JavaScript
Workshop: Instantiating and using the Nashorn engine, using Java objects in JavaScript – calling JavaScript functions and managing parameters
Process
initiation ProcessHandle and ProcessHandle.inf
The concurrency API: different types of executors
Choice of interfaces Runnable, Future, Callable
Multithreading application and use of Lambda expressions
ComposableFuture
Asynchronous mode and timeout management
Queues and classes atomic
Thread Pool Management
Lab: Coding of scheduled tasks using executors – multitasking implementation with the use of threads and synchronization
Duration
5 days
Price
£ 2540
Audience
Java Developers
Prerequisites
Have followed the « Java initiation + deepening » course or have equivalent knowledge
Reference
JAV100573-F
Sessions
Contact us for more informations about session date