Java Performance Tuning

Introduction to Java Performance Tuning

Course Introduction, Course Agenda

JVM and Performance Overview

JVM Overview, Performance Principles, Common Performance Problems, Performance Methodology, Development and Performance

Monitoring Operating System Performance

Monitor CPU Usage, Monitor Network I/O, Monitor Disk I/O, Monitor Virtual Memory Usage, Monitor and Identify Lock Contention

Monitoring the JVM

HotSpot Generational Garbage Collector, Monitor the Garbage Collector with Command Line Tools, Monitor the Garbage Collector with Visual VM, Monitor the JIT Compiler, Throughput and Responsiveness, Performance Profiling

NetBeans Profiler, Oracle Solaris Studio, and jmap/jhat

Profile CPU Usage, Profile JVM Heap, Find Memory Leaks, Identify Lock Contention, Heap Profiling Anti-patterns, Method Profiling Anti-patterns

Garbage Collection Schemes

Garbage Collection, Generational Garbage Collection, GC Performance Metrics, Garbage Collection Algorithms, Types of Garbage Collectors, JVM Ergonomics

Garbage Collection Tuning

Tune the Garbage Collection, Select the Garbage Collector, Interpret GC Output

Language Level Concerns and Garbage Collection

The best practices for Object Allocation, Invoking the Garbage Collector, Reference Types in Java, The use of Finalize

Performance Tuning at the Language Level

String-efficient Java Applications, Collection Classes, Using Threads, Using I/O Efficiently