Java 1.8 Performance and Concurrency

Lorem ipsum is a dummy or placeholder text commonly used in graphic design, publishing, and web development to fill empty spaces

16 Hours Instructor Led Live Classroom Training

Course Overview

Java was designed from the group up to operate as a multi-threaded language. However, the facilities available range from the very low level, such as Threads, through Atomic types to high-level blocking queues etc. With the advent of Java 8 this has been extended to Completable Futures and Stream processing. However, all this complexity has structure to it and can be understood by stepping through the facilities available and understanding how they build on each other. In many cases, the need to explore the concurrency features in Java is driven by the need to ensure sufficient performance in applications. This course therefore also considers performance, what to consider, performance anti-patterns as well as aspects of the JVM environment that can affect performance (such as Garbage collection, IO and stream-oriented processing). It also introduces the Actor model for concurrency.
Prerequisites:
Experience and understanding of the Core Java language and the newer Java8 features (e.g. functions and method references)

Course Content
  1. Garbage Collection in Java
  2. Threads
  3. Synchronizing Data Access
  4. Synchronizing Execution
  5. Modern Java Concurrency
  6. Completable Futures
  7. Lock-Free Concurrency
  8. Performance Concepts
  9. Measuring Performance
  10. Performance Anti-Patterns
  11. I/O and NIO 2.0
  12. Streams
  13. Introducing Actors