Performance Monitoring and Tuning for Java Applications
At some point of your career you will reach the situation when you will have to consider your enterprise application environment – server hardware, other applications running on your server and other servers running in your network. You may for example want to know why disk operations were so quick on your development box, but became a major issue on the production box.

Don't leave performance to chance. You will recognize and correct performance problems throughout the entire enterrpise application development lifecycle with this advanced course.

This course will provide you with the skills you'll need to quickly performance tune your Enterrpise Java applications. The reasons driving this can range from a slow service, JVM crashes, hangs, deadlocks, frequent JVM pauses, sudden or persistent high CPU usage or even the dreaded OutOfMemoryError (OOME).In this course we will be going through some of the open source tools that are available. Some of these tools come with the JVM itself, while some are third party tools


  1. Java development performance tuning tips
  2. The Java Virtual Machine
  3. Analyzing and understanding the memory use of an application
  4. JVM performance optimization tips
  5. Garbage collection and application performance
  6. Application Server Performance tips
  7. Heap profiling
  8. CPU profiling
  9. Thread profiling
  10. Profiling Tools
  • Jmap : prints shared object memory maps or heap memory details of a given process or core file or remote debug server
  • VisualVM: visual tool integrating several commandline JDK tools and lightweight profiling capabilities. Designed for both production and development time use, it further enhances the capability of monitoring and performance analysis for the Java SE platform
  • Btrace: safe, dynamic tracing tool for the Java platform. can be used to dynamically trace a running Java program
  • EurekaJ: profiler tool for Java applications.  accept incoming statistics and provide a view to visualize the statistics in a consistent manner, parse the BTrace output, convert it to JSON and forward it to the EurekaJ Manager application’s REST interface.
  • Eclipse Memory Analyzer :can help provide details of an application’s memory use. The tool is useful for both tracking memory leaks and for periodically reviewing the state of your system


This course is designed for senior java developers, software and system architects, operation managers


2 days


Instructor Lead


Advanced Java language knowledge and enterprise application development experience.