Optimizing Java: Practical Techniques for Improved Real-World Performance

Optimizing Java: Practical Techniques for Improved Real-World Performance

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 8h 16m | 2.48 GB

With any comprehensive, large-scale programming language, if you’re not careful during your development processes, you can end up with a bloated, poorly performing application. This course examines techniques and methods that you can employ to optimize your Java code and squeeze more efficiency out of your applications. You’ll look at JVM subsystems, modern processor technologies and how you can best utilize them, and how to diagnose an application to find trouble areas that might be affecting its performance. This course is designed for intermediate- to advanced-level programmers. Here are just some of the areas in which this course can benefit you:

  • Review the historical context of Moore’s Law and how Java has benefitted from it over the years
  • Examine the technical complexities of the JVM subsystems
  • See how to design and set up monitoring and logging systems to help you analyze and assess how your code is functioning
  • Learn both basic and advanced garbage collection techniques
  • Compile AOT and JIT, including tiered compilation and how it really works
  • Investigate concurrent techniques such as synchronization, OS-level locking, and non-availability to single-core processors
Table of Contents

01 Welcome to the Course
02 Theory – JVM Subsystems
03 Theory – Moore’s Law & Consequences
04 Theory – Modern Processor Architecture
05 Theory – Operating Systems and Code Execution
06 Internals – JVM Objects at Runtime
07 Internals – Bytecode Basics
08 Internals – Execution of Bytecode
09 Practical – Architecting Logging for Observability
10 Theory – Simple System Model
11 Practical – Basic Analysis Technique
12 Theory – Introduction to Mark and Sweep
13 Theory – Generational Mark and Sweep
14 Practical – HotSpot (v8) Heap – Parallel
15 Theory – Allocation and Lifetime
16 Theory – Collector Tradeoffs
17 Theory – Concurrent Marking
18 Internals – Safepoints Reconsidered
19 Practical – Concurrent Mark and Sweep (CMS)
20 Practical – G1
21 Overview – JIT Compilation
22 Practical – Tuning JIT Compilation with Code Cache
23 Internals – Compilation Strategies in HotSpot
24 Practical – JIT-friendly code
25 Practical – Introduction to Noisy Data
26 Methodology – Review of Statistics for Performance
27 Practical – Statistical Profiling
28 Theory – Microbenchmarks
29 Theory – Graal
30 Practical – Hands-on With Graal and GraalVM
31 Theory – Value Types
32 Wrap Up and Thank You