Java Performance Tuning | Learn to Apply Java Performance Tuning Practices to Your application

Java Performance Tuning Course Description

The Java Performance Tuning training workshop examines the philosophies, tools, & processes to successfully tune a Java application. Assuming most students have not experimented with performance tuning, the course begins with an introduction of performance tuning, exploring what is and is not considered performance tuning. 

The general performance tuning discussion is made relevant through the examination of the Java platform and the Java Virtual Machine architecture. With the appropriate foundation laid, the course examines common tuning tools and their applications. The meat of the course is found in the performance tuning process discussion and is made practical through a hands-on examination of general tuning best practices and heap tuning.

Java Performance Tuning Course Learning Outcomes

  • Understand the performance tuning process
  • Establish performance characteristics and measurement strategies
  • Identify and determine potential causes for hot spots, areas of latency, and bottlenecks in your application
  • Design a performance tuning strategy for your application based on identified underperforming and established characteristics
  • Work with common tuning tools such as profilers, pstat, top, visual vm, etc.
  • Tune the JVM, including GC algorithms, memory profiles, etc.

Java Performance Tuning Training - Suggested Audience

This Java Performance Tuning course is aimed at programmers & administrators looking to increase their skills in fine tuning Java applications. Suggested attendees based on our past programs are:
  • System administrator
  • Software developer
  • Java developer
  • Java EE Developers
  • Architect
  • Java Developers
  • Support Engineer
  • Technical Consultant
  • IT professionals

Java Performance Tuning Training Duration

  • Open-House F2F (Public): 5 days
  • In-House F2F (Private): 5 days, for commercials please send us an email with group size to hello@pincorps.com

Java Performance Tuning Training Course - Prerequisites

  • Experience & basic understanding of object-oriented programming techniques & Java programming is required.

This Java Performance Tuning training course outline includes:

1. Introduction to Performance Tuning
  • Background on tuning
  • Why do we need to tune
  • What are symptoms of a system that needs tuning
  • What outcomes should I expect

2. 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

3. 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

4. Java Tuning Process
  • Java Runtime Environment and System constraints
  • Calculating & Measuring JVM / JRE overheads
  • Identifying “startup” components of JVM / JRE
  • Calculating and Measuring Hardware and OS Constraints

5. Performance planning
  • Defining performance specifications, variations, and objectives
  • Defining and Capturing a benchmark (a baseline)
  • Tuning from the benchmark to the objectives
  • Measuring improvements with Profiling and Monitoring tools

6. Fundamentals of Garbage Collection and Heap Tuning
  • Understanding JVM memory and lifecycles
  • Following an object through a lifecycle
  • GC algorithms: Which one, when – tuning GC algorithms
  • JVM Command line switches
  • Measuring improvements

7. Tuning Best Practices
  • Overview of the tuning methodology
  • Understanding the 80/20 rule
  • Can you be smarter than the JIT?
  • Getting big gains quick
  • Understanding the overhead of Logging, Exceptions, Strings, and IO

8. Tuning Java EE Applications
  • Review of Java EE and Java EE Application Server platforms
  • Identifying and tuning common bottlenecks in Java EE applications
  • Identifying and tuning resource pools, external resources, and dependencies

9. Best practices relating to EE tuning
Keny White

Professor

Keny White is Professor of the Department of Computer Science at Boston University, where he has been since 2004. He also currently serves as Chief Scientist of Guavus, Inc. During 2003-2004 he was a Visiting Associate Professor at the Laboratoire d'Infomatique de Paris VI (LIP6). He received a B.S. from Cornell University in 1992, and an M.S. from the State University of New York at Buffalo.

Bachelor

After working as a software developer and contractor for over 8 years for a whole bunch of companies including ABX, Proit, SACC and AT&T in the US, He decided to work full-time as a private software trainer. He received his Ph.D. in Computer Science from the University of Rochester in 2001. "What I teach varies from beginner to advanced and from what I have seen, anybody can learn and grow from my courses".

Reviews

Average Rating

5
1 rating

Detailed Rating

5 stars
1
4 stars
0
3 stars
0
2 stars
0
1 star
0

    This is great

    I really love the course editor in LearnPress. It is never easier when creating courses, lessons, quizzes with this one. It's the most useful LMS WordPress plugin I have ever used. Thank a lot! Testing quiz is funny, I like the sorting choice question type most.