Java Logo

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