JProfiler bridges high-level analytics and low-level JVM data, delivering unmatched insights to solve your toughest performance problems, memory leaks, threading issues, and higher-level problems in technologies like JDBC, JPA, and more.
What's new in 16.3
New features:
MCP server: Heap dumps can be taken in live sessions and existing snapshots can be analyzed with class histograms, biggest objects, instance queries with value filters, reference chains, paths to GC roots, dominator chains and automated heap inspections. Heap walker scripts can be used for filtering and custom grouping.
MCP server: Individual probe events with back traces, event histograms and event timelines can be queried. Open control objects, for example unclosed JDBC connections, are listed for leak analysis together with the stack trace of the open call.
MCP server: GC data is now available, including individual garbage collections with causes, pause times, phases and heap usage, as well as the GC configuration and flags
MCP server: Monitor analysis is now available, including monitor statistics, contention timelines, locking history with stack traces and lock graphs. Monitor dumps can be taken from live JVMs for deadlock analysis.
MCP server: Thread dumps are now available, including virtual thread hierarchies
MCP server: MBean snapshots are now available
MCP server: All telemetries are now available
MCP server: Allocation recordings is now available
MCP server: Method complexity analysis with curve fits is now available
MCP server: JavaScript origin tracking now provides browser call stacks to the agent
MCP server: CPU analysis now supports thread and thread group selection, thread status filtering, per-thread attribution of hot spots and call tree nodes, and outlier detection with exceptional method recording
MCP server: Triggers with actions for thread dumps, heap dumps and MBean snapshots can be configured in the recording configuration
MCP server: Script probes and custom probes can now be recorded and analyzed
MCP server: Heap dumps, monitor dumps, thread dumps, MBean snapshots and recording control are available as live actions on running JVMs
Allocation recording now uses byte-interval sampling with the low-overhead JVMTI allocation sampling mechanism (JEP 331) as the default on Java 11+, reducing recording overhead and avoiding interference with escape analysis
Added a Maven plugin with goals for profiling and for exporting, comparing and analyzing snapshots, matching the existing Gradle plugin
The Gradle tasks and Maven goals can now automatically download a JProfiler installation if none is configured
AI probe: Added support for LangChain4j async and streaming requests …
JProfiler 16 can open or be associated with 4 file types:
.hprof.hpz.jfr.jps
JProfiler 16 version history
16.2.1Aug 26, 2026
Bug fixes:
IDE integrations did not work on macOS if the JProfiler MCP server was running
IDE integrations: The connection between JProfiler and the IDE could be lost, for example, when macOS App Nap was active
VS Code integration: Fixed window activation with current Visual Studio Code versions on macOS
VS Code integration: Fixed profiling launches with string VM arguments and debug session cancellation during startup
VS Code integration: Fixed various source navigation problems, including lambdas compiled with Java 24+, generic types, multi-root workspaces and multi-release JARs
VS Code integration: Automatic JProfiler discovery through the PATH environment variable did not work on Linux
Fixed source navigation for proxy classes
AI probe: langchain4j embedding models that implement the EmbeddingModel interface with default methods, such as the OpenAiEmbeddingModel, were not intercepted
CPU profiling did not work for threads that were started before the VM initialization phase, for example, by other native agents
On Java 27, the internal "Master-Poller" system threads were not ignored in the CPU views
Fixed a race condition in the profiling agent when recording monitors
An error in a telemetry, for example, in a JMX telemetry, could stop all further telemetry recording
GC probe: The GC-specific flags for the parallel garbage collector were not shown correctly in the "GC flags" view …
16.2Jul 16, 2026
New features: - Offline profiling can now be configured directly in the -agentpath VM parameter with common profiling settings and a complete automated recording sequence, without requiring a JProfiler config file, the controller API or jpcontroller - jpenable can now configure offline profiling with common profiling settings and a complete automated recording sequence, interactively or with command line options, without requiring a JProfiler config file - The Gradle and Ant profiling tasks can now configure offline profiling with common profiling settings and a complete automated recording sequence directly with task attributes, without requiring a JProfiler config file - MCP server: Made the profiling workflow more robust for weaker models and added support for the Antigravity AI coding tool - jpexport: Added a -maxEvents parameter for the ProbeEvents export to limit the maximum exported file size for huge event counts. The default is 100000 - JPA/ Hibernate probe: Added support for Hibernate stateless sessions and Hibernate Data Repositories - Improved stack trace hints in the monitor views and for the thread creation stack trace - The embedded agent controller API can now be shaded into your application with the -Djprofiler. controllerPackage= [renamed package] system property Bug fixes: - JProfiler executables did not exit if the native profiling library could not be found - Fixed a memory leak in the frontend when recording probe events …
16.1.1
Other versions
16.1
16.0
Frequently asked questions
Is JProfiler 16 free?
JProfiler 16 is proprietary software from ej-technologies GmbH. Check the publisher's license terms for pricing and usage rights.
What is the latest version of JProfiler 16?
The latest version is 16.3, released on Oct 26, 2026.
Is it safe to download JProfiler 16?
The download button links to the official installer published on download.ej-technologies.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with 984326ac41179643ec2c4cd2c6ee530031417cda4cc7e543ca66479c0d744ba0.
Which Windows versions does JProfiler 16 support?
JProfiler 16 runs on Windows and is available for 64-bit (x64) systems.
How do I install JProfiler 16 silently?
Run the offline installer with "jprofiler_windows-x64_16_3.exe" -q -Dinstall4j.suppressUnattendedReboot=true, or install it with Windows Package Manager: winget install --id=ej-technologies.JProfiler.16 -e --silent.
How do I uninstall JProfiler 16?
Open Settings › Apps › Installed apps, find JProfiler 16 and select Uninstall. From the command line, run winget uninstall --id=ej-technologies.JProfiler.16 -e.