Chris Newland edited this page Jun 15, 2016 · 51 revisions


A tool for understanding the behaviour of the Java HotSpot Just-In-Time (JIT) compiler during the execution of your program.

Works by processing the hotspot.log file output by the JVM.

This tool started out as a learning vehicle to gain a better understanding of HotSpot and JavaFX.

I hope you find it useful :)

Why would I use JITWatch?

  • To verify whether methods you believe to be performance-critical were JIT-compiled during the program's execution.
  • To learn at what point in the execution your performance-critical methods were compiled.
  • To understand the effects of tuning JVM compilation thresholds.
  • To gain a better understanding of the HotSpot JIT compiler.
  • To see how your source code is translated into bytecode and assembly.


  • Browse class trees and view which methods were JIT-compiled, when JIT-compilation occurred, and information about the compilation.
  • Mount your source, jars, and class trees to jump to the source, bytecode, and assembly for a method.
  • Plot JIT compilations over time and visualise when a method was JIT-compiled.
  • View toplists of the largest native methods, methods with most bytecodes, longest compilation times, etc.
  • Open sourced under the Simplified BSD licence.

Download from Jenkins CI

Latest JITWatch jars built by CI

Add as a maven dependency

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.