The class lessons are very organized and clear. Activities in the book are easy to follow. The speed... More Testimonials »

Java Performance Tuning

Delivery Options

Class Description

Class Overview

This Java Performance Tuning class is a lab-intensive course geared for experienced software developers who are looking to expand their knowledge and skills in the Java world. This Java class is highly customizable and draws from the extensive knowledge and content base to tune the course itself to the student needs.

Class Goals

  • Learn to list possible metrics for measuring software performance
  • Learn to explain the effect of OO design on software performance
  • Learn to list and describe types of benchmarks and the criteria that should be considered when constructing a benchmark plan
  • Learn to explore the most useful targets for profiling, and the most common tools/techniques for profiling
  • Learn to describe two strategies for improving performance as a result of profiling data
  • Learn to list and explain the five most common problem areas for good performance with Java
  • Learn to use the JDK to collect runtime profiling data
  • Learn to successfully read the profiling data generated by the JDK to detect performance bottlenecks
  • Learn to instrument your own code to collect method execution time data
  • Learn code optimization techniques relating to object management, exceptions, threads, and serialization
  • Understand the JVM Architecture from the perspective of performance
  • Examine and work with Java language features that can impact performance
  • Understand how XML is processed using Java
  • Learn best practices for improving XML processing performance
  • Learn best practices for improving web services performance
  • Learn the impact of security and application defenses on performance
  • Learn the tradeoff between defense and performance

Class Outline

  1. Writing High Performance Applications
    1. Performance: Process and Issues
    2. Architecture of the JVM
    3. Memory Management Issues
    4. CPU Performance Issues
    5. Threading Issues
    6. Profiling and Benchmarking
    7. Determining What to Profile
    8. Determining What to Tune
    9. Profiling Tools
    10. Tactical vs. Strategic Optimization
    11. Code Optimization Techniques
    12. Design Optimization Techniques
    13. Impact of Exceptions
    14. Impact of Reflection
    15. Using Profilers
    16. Applying Code Optimization
    17. Applying Design Optimization
  2. Effective Java
    1. Creating and Destroying Objects
    2. Factory Methods
    3. Impact of Finalizers
    4. Methods Common to Most Objects
    5. Classes and Interfaces
    6. Immutability
    7. Composition vs. Inheritance
    8. Exceptions
    9. Managing Exceptions Efficiently
    10. Threads
    11. Impact of Synchronization
    12. Threading Constructs to Avoid
    13. Serialization
    14. Impact of readObject()
  3. XML and Security
    1. Working with XML in Java
    2. Best practices for improving XML processing performance
    3. How Performance is Affected by XML Structure and Use
    4. Best practices for improving web services performance
    5. Impact of security and application defenses on performance
    6. Tradeoff between defense and performance
  4. J2EE Tuning (optional)
    1. The Performance Tuning Guide
    2. Basic Tuning Principles and Concepts
    3. Establishing Performance Bounds
    4. Server Tuning Options

Class Materials

All students receive a course manual or book and all the class examples.

Students in private onsite classes will also receive:

Class Prerequisites

Experience in the following areas is required:

  • Java Programming

Technical Requirements

Our computer technical requirements and setup process is easy, with support just a click away.


  • Java ®, all Java-based marks, Hibernate ®, and all Hibernate-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the U.S. and other countries.
Client Success
  1. Independent Survey
  2. Client List
  3. Testimonials
Join The Team
  1. Learn how you can become a Webucator Trainer
  2. Career Opportunities
Training Classes
Locations
Live eLearning

Like a class you would go to, but you don't have to go anywhere. More...

Customized Onsite Training

The trainer comes to you and delivers a class customized for your team. More...

Self-Paced eLearning

Our least expensive option. You proceed through the course entirely at your own pace. More...

Reference Library
Partner Programs
© Webucator, Inc. All rights reserved. | Toll Free: 877-932-8228 | UK: 0808-101-3484 | From outside the USA: 315-849-2724| Fax: 315-849-2723