Audience
System Administrators, Java Developers, Support Engineers, Technicals Consultants, and Java EE Developers will benefit from attending this course.
Prerequisites
At least six months experience using Java.
Duration
4 days.
Course Objectives
This course teaches experienced Java programmers how Java garbage collection works and how it affects your applications. You'll develop the knowledge to select the appropriate garbage collector and performance goal for your applications. You'll know how to use Mission Control and Java Flight Recorder tools to monitor and analyze your applications. You'll build a conceptual background for Java garbage collection. The instructor will teach you how it applies to Java garbage collectors on the Hotspot JVM.
At the end of this course, you will be able to:
- Describe basic principles of performance
- Describe the operation of generational garbage collection
- List the garbage collectors available in Java including the G1 collector
- Monitor performance at the JVM and application level
- Monitor and analyze Java application performance using Java Mission Control and Flight Recorder
- Monitor operating system performance
- Profile the performance of a Java application
- Tune garbage collection in a Java application
- Apply basic performance tuning principles to a Java application
Course Content
Java Virtual Machine and Performance Overview
- JVM Overview
- What is Performance?
- Performance Methodology
The JVM and Java Garbage Collection
- Hot Spot GC Basics
- The GC Aging Process
- G1 GC
Java Garbage Collectors
- Garbage Collecting Algorithms
- Types of GC Collectors
- JVM Ergonomics
Command Line JVM Monitoring
- GC Monitoring Options
- JIT Monitoring Options
Mission Control and JVM Monitoring Tools
- Monitoring with Visual VM
- Monitoring with Mission Control
Java Flight Recorder
- Creating Flight Recordings
- Analyze a Flight Recording
Monitoring Operating System Performance
- Monitoring CPU Usage
- Monitoring Memory Usage
- Monitoring Network I/O
- Monitoring Disk I/O
- Monitoring Processes
Performance Profiling Tools
- Overview of Profiling Tools
- CPU Profiling
- Heap Profiling
Troubleshooting Performance Issues by Profiling
- Memory Leak Profiling
- Detecting Memory Leaks
- Detecting Contention and Locking Issues
Garbage Collection Tuning
- Tuning with Serial GC
- Tuning with Parallel GC
- Tuning with Concurrent GC
- Tuning with G1 GC
Language Level Concerns and Garbage Collection
- Object Allocation
- Working with Large Objects
- Explicit Garbage Collection
- Finalizes
- Memory Leak Detection Tools
- Object References