Java Professional Tuning and Advanced Diagnostics
(JPTO, Live Instructor-Led Training, 5 days)


If you still believe that Java is slow, you need to take this course. This SETC certified course dispels the myth that Java is slow and bloated. Our experienced Java trainers will crack open the hood of the JVM so that developers understand what may slow down a Java application (hint: garbage collection is not at fault) and how to write blazingly fast code. Starting with profiling and performance tuning, the course explores in detail how to take advantage of the Java programming language, followed by effecient use of the Class Library, including text manipulation, input/outputs and collections. The course goes beyond Java SE and explores how to ensure that an Enterprise Java application is a fast as necessary.

Dates and Pricing

Jan 29 to Feb 2, 2018$2,500/person Feb 26 to Mar 2, 2018$2,500/person Mar 26 to Mar 30, 2018$2,500/person


The Java Environment
The Java Runtime: Internal Architecture
Packages and JAR Files
Java and JEE
JEE Architecture
JEE Containers: The WebSphere JEE Server
Troubleshooting and Diagnostic Tools
SDLC: From Analysis to Deployment
Eclipse Debugging
Performance Tuning in tha Java World
What is Fast? What is Slow?
Performance Tuning: The Root of all Evil?
What is Performance Tuning?
What should be Tuned?
The Tuning Process
Java Diagnostic Tools
Introduction to Diagnostics
Tools Overview
Advanced Tools
The Heap Analysis Tool
About Fatal Error Handling
jdb and Hung Processes
Command Line Options
System Properties
Profiling Tools
Measurements and Timings
Garbage Colletion
Method Calls
Object Creation Profiling
Monitoring Memory Usage
Client-Server Communications
Tuning the JDK
Garbage Collection
Replacing JDK Classes
Faster Virtual Machines
Better Optimizing Compilers
Optimizing the Sun Compiler
Native Machine Code
Native Method Calls
Object Creation
Object Creation Statistics
Object Reuse
Avoiding Garbage Collection
Early and Late Initialization
Working with Strings
Strings and Performance
String Resolution: Compile Time versus Runtime
String Conversions
String versus Character Arrays
String Comparison, Sorting and Searches
Working with Java Language Elements
Reference Types versus Primitives
About Casting and Conversion
Working with Functions and Parameters
About Exceptions and Exception Handling
About Looping
About switch
Input, Output and Logging
About Console Output
Optimizing IO Operations
Optimizing Logging
Optimizing Serialization
About Object Clustering and IO Counts
About Java Threads
Race Conditions
Deadlocks and Synchronization
Threads and Timing
Thread Pools
Load Balancing
Data Structures and Algorithms
About Java Collections
Hashtables and Hashmaps
Cached Access
Working with Strings
Search Trees
Distributed Computing
Tools of the Trade
Reducing Traffic
About Caching
About Batching
About Application Partitioning
Communication Optimization
Garbage Collection
Tuning Database Access
JEE Performance Tuning Overview
The JEE Architecture
WebSphere Specifics
Tools for Diagnosing Performance Problems in a JEE Application
Overview of JSP and Struts Tuning
Overview of EJB Tuning
Tuning Entity Beans
Tuning Session Beans
Tuning Message Driven Beans
About Hibernate and Performance
Performance Tuning Review
JSE Checklist
JEE Checklist
Other Considerations