Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Introduction to Java Performance Tuning

Course Summary

The Introduction to Java Performance Tuning training course is designed to demonstrate the philosophies, tools, and processes required to begin tuning a Java application.

The course begins with an introduction of performance tuning concepts, exploring what is and is not considered performance tuning. Next, it examines the Java platform and the JVM architecture. The course concludes with examining common tuning tools and their applications.

Purpose
Learn how to transform a Java application to address system performance issues and crashes.
Audience
Advanced Java programmers and system administrators needing to increase Java performance by tuning their Java applications.
Role
Software Developer - System Administrator
Skill Level
Advanced
Style
Hack-a-thon - Learning Spikes - Workshops
Duration
3 Days
Related Technologies
Java

 

Productivity Objectives
  • Interpret the performance tuning process
  • Formulate performance characteristics and measurement strategies
  • Identify and analyze potential causes for hot spots, areas of latency, and bottlenecks in an application
  • Design a performance tuning strategy for an application based on identified underperforming and established characteristics
  • Experiment with common tuning tools such as profilers, Pstat, top, visual vm, etc.
  • Adjust the Java Virtual Machine (JVM), including Garbage Collection (GC) algorithms, memory profiles, etc.

What You'll Learn:

In the Introduction to Java Performance Tuning training course, you'll learn:
  • Introduction to Performance Tuning
    • Background on tuning
    • Why tuning is needed
    • What are symptoms of a system that needs tuning
    • What outcomes to expect
  • Java Virtual Machine Architecture
    • Overview of Java as a platform
    • Java Virtual Machine Architecture
    • Key components of the Java Virtual Machine
    • Byte-code verifiers, class loaders, and security
    • Memory heaps and stacks
    • Garbage collection
  • Java Tuning Tools
    • Basic tools
    • Timing tools
    • Load testing tools and techniques
    • JVM Profiling Tools (Profilers)
    • Memory management and monitoring
    • Operating system and network monitoring tools
  • Java Tuning Process
    • Java runtime environment and system constraints
    • Calculate and measure JVM/JRE overheads
    • Identify "startup" components of JVM/JRE
    • Calculate and measure hardware and OS constraints
  • Performance planning
    • Define performance specifications, variations, and objectives
    • Define and capture a benchmark (a baseline)
    • Tune from the benchmark to the objectives
    • Measure improvements with profile and monitor tools
  • Fundamentals of Garbage Collection and Heap Tuning
    • Understand JVM memory and lifecycles
    • Follow an object through a lifecycle
    • GC algorithms: Which one, when
    • Tune GC algorithms
    • JVM Command line switches
    • Measure improvements
  • Tuning Best Practices
    • Overview of the tuning methodology
    • Understand the 80/20 rule
    • Understand the JIT
    • Get big gains quick
    • Understand the overhead of Logging, Exceptions, Strings, and IO
  • Tuning Java EE Applications
    • Review of Java EE and Java EE Application Server platforms
    • Identify and tune common bottlenecks in Jakarta EE applications
    • Identify and tune resource pools, external resources, and dependencies
  • Best practices relating to EE tuning
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”

VMware

Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By filling out this form and clicking submit, you acknowledge our privacy policy.