BETA

Обучения
IPT Training: High Performance and Reactive Programming with JAVA




IPT Training: High Performance and Reactive Programming with JAVA


Представяме Ви новия практически курс на фирма IPT – Intellectual Products & Technologies - High Performance and Reactive Programming with JAVA.
Включени са 30 учебни часа с цена 395 лв на участник в група от поне 4 човека.
За записване онлайн http://iproduct.org/schedule/

Target audience:
Medium to expert level Java developers with practical experience in building applications with Java SE and Java multithreading.

Workshop duration:
Duration of the workshop is 30 study hours in total.

Workshop Description:
The workshop provides in-depth study of reactive and high performance application programming in Java using several open-source frameworks. Main patterns and existing software implementations are discussed.

Functional reactive programing provides easy to use and composable higher-level abstraction for high-performance computing, hiding the complexities of non-blocking concurrency implementations. The main topics that will be covered are:

1. Low latency and high throughput programming in Java. Different factors affecting performance – CPU architecture (multicore, hyperthreading), memory hierarchies (caches, predictive caching), memory access patterns (temporal, spatial, striding), Garbage Collection (serial, parallel and concurrent GC strategies, genrational GC), lock contention – uncontended vs. contended locks, false sharing. Non-blocking concurrency. Single writer designs. The LMAX Disruptor (RingBuffer) high performance inter-thread messaging library. DSL & Main API – Ring Buffer, Sequence, Sequencer, Sequence Barrier, Wait Strategy, Event, EventProcessor, EventHandler, Producer. Examples and exercises. (8 study h.)

2. Reactive programming. Reactor & Proactor design patterns. Reactive Streams Specification – Publisher, Subscriber, Subscription, Processor. Building high-performance non-blocking asynchronous applications on the JVM using Reactor project – Reactors, Dispatchers, EventRouters, Streams and Promises, Processors (RingBuffer). Reactor-Core, Reactor-Bus, Reactor-Streams and Reactor-Net APIs. Building end-to-end reactive web applications and services (REST, WebSocket) using Reactor. (8 study h.)

3. RxJava – a Java VM implementation of ReactiveX (Reactive Extensions) – extended Observer design pattern. (6 study h.)

4. Inter Process Communication (IPC) with sub millisecond latency with Chronicle Queue. (4 study h.)

5. Software transactional memory (STM) – working principles, composable operations, open-source implementations: JVSTM, Deuce, Multiverse, ScalaSTM (Java API). (4 study h.)

The workshop contains 50% lecture materials and 50% lab exercises. Lectures and exercises will be conducted in parallel and will not be divided in separate sessions in order to achieve immediate reinforcement of theoretical discussions with practical examples and exercises in Java.

During the workshop participants will get experience using reactive programming paradigm for building high performance software in Java by solving multiple problems, and practical application of discussed patterns. The learning is conducted in small groups – up to 10 participants using problem-based methodology. During laboratory exercises there is opportunity for individual advises, as well as discussion of additional questions the participants are interested in.

For more information please contact us on office@iproduct.org
web: http://iproduct.org

 


КОГА: 02.04.2016

МЯСТО: ул. Слатинска, бл. 44

Траян Илиев

Trayan Iliev is Oracle® & OMG® certified software developer with 12+ years Java training experience for big international companies (VMware, Software AG, Anyoption, Comptel, Verint, i:FAO Bulgaria, Stemo, Globul/Telenor, etc.). Frequent speaker at Bulgarian Oracle® User Group (BGOUG) and Bulgarian Java User Group (BGJUG) conferences.

Ай Пи Ти - Интелекчуал Продъктс енд Технолоджис

IPT е доставчик на образователни решения в областта на съвременните информационни технологии и стандарти.