Java 9 Concurrency- Advanced Elements

Java 9 Concurrency- Advanced Elements

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 2h 12m | 500 MB

Perform more than 25 tasks to help you enhance the Java concurrent API

Writing concurrent and parallel programming applications is a crucial skill for any Java programmer. Java 9 comes with a host of fantastic features, including significant performance improvements and new APIs. This video will take you through all the new APIs, showing you how to build parallel and multi-threaded applications.

The video covers all the elements of the Java Concurrency API, with essential recipes that will help you take advantage of the exciting new capabilities. You will learn how to use parallel and reactive streams to process massive data sets. Next, you will move on to create streams and use all their intermediate and terminal operations to process big collections of data in a parallel and functional way. Further on, you’ll discover a whole range of recipes for almost everything, such as thread management, synchronization, executors, parallel and reactive streams, and much more.

By the end of the video, you will know how to obtain information about the status of some of the most useful components of the Java Concurrency API and how to test concurrent applications using different tools.

What You Will Learn

  • Process massive data sets in an optimized way using streams and reactive streams
  • See which data structures you can use in concurrent applications and how to use them
  • Practice efficient techniques to test concurrent applications
Table of Contents

01 The Course Overview
02 Customizing the ThreadPoolExecutor Class
03 Implementing a Priority –Based Executor Class
04 Generate Custom Threads Using ThreadFactory Interface
05 Using Our ThreadFactory in an Executor Object
06 Customizing Tasks Running in a Scheduled Thread Pool
07 Generating Custom Threads for the Fork/Join Framework
08 Customizing Tasks Running in the Fork/Join Framework
09 Implementing a Custom Lock Class
10 Implementing a Transfer Queue-Based on Prioritie
11 Implementing Your Own Atomic Object
12 Implementing Your Own Stream Generator
13 Implementing Your Own Asynchronous Stream
14 Monitoring a Lock Interface
15 Monitoring a Phaser Class
16 Monitoring an Executor Framework
17 Monitoring a Fork/Join Pool
18 Monitoring a Stream
19 Writing Effective Log Messages
20 Analyzing Concurrent Code with FindBugs
21 Testing Concurrency Code with MultithreadedTC
22 Monitoring with JConsole
23 Using Immutable Objects when Possible
24 Holding Locks for as Short Time as Possible
25 Delegating the Management of Threads to Executors
26 Taking Precautions Using Lazy Initialization
27 Using the Fork/Join Framework Instead of Executors
28 Avoiding the Use of Blocking Operations Inside a Lock
29 Using Streams to Process Big Data Sets