Writing High Performance Java Application in Java 9

Writing High Performance Java Application in Java 9

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 58 minutes | 164 MB

Discover how to monitor applications and write code in high concurrent with the proper tools

A lot of applications that are built today need to handle huge amounts of traffic in low latency. Java is a very popular language and JVM is a popular platform to build high performance programs in Java. Java 9 adds reactive programming as a first class citizen to handle traffic in a multi-threaded and concurrent way. Writing high-performance concurrent and thread-safe programs is hard, but you’ll discover how and see what Java 9 adds to the software engineer toolkit.

First, we’ll create efficient lock-free programs that leverage the multi-core architecture of the CPU using the newest Java 9 features. Then you’ll see how Java Memory Model affects the performance of your programs. You’ll discover why it’s even more important to be aware of the software-hardware co-operation of your programs in Java 9.

Moving on, you’ll find out how to leverage constructs from JAVA 9 java.util.concurrent to create efficient multi-threaded programs. We’ll explore the different kinds of locking available in JAVA 9 and get to know when you should use which kind of locks. Finally, you’ll see what tools are shipped with the JDK 9 and know how to use them properly.

What You Will Learn

  • Know how to write concurrent multithreaded programs
  • Explore the different kinds of locking available in Java 9
  • Understand the different kinds of tools that are shipped with JDK 9
  • Create efficient lock-free programs that leverage the multi-core architecture of the CPU using Java 9’s features
  • Build a HTTP metrics aggregator application using various concurrent techniques
  • Use the Reactive programming model to create efficient programs
  • Control a huge amount of traffic using the aggregator in Java 9
  • Detect memory leaks with JVisualVM
Table of Contents

01 The Course Overview
02 Java Memory Model
03 Hardware Affinity
04 JVM Intrinsic Functions
05 Understanding and Analyzing Bytecode
06 Optimistic Locking Versus Pessimistic Locking
07 CompareAndSet Structures
08 Coordinating Threads
09 Java 9 – Reactive Streams
10 Detecting Memory Leaks – JVisualVM
11 Examining CPU and Resources Usage
12 Summary of Writing High Performance Java Applications