All our artifacts are now published on Maven Central
All our artifacts are now published on Maven Central
We have migrated all of our public Maven artifacts to Maven Central. Previously, these artifacts were available from our own Maven repository, which will remain online for older releases. New releases will be published exclusively on Maven Central.
JEP 493 follow-up: install4j 11.0.4 is ready for separate JMOD bundles in Eclipse Temurin 24.0.2
Two months ago, I wrote about how JEP 493 threatened cross-platform JRE bundle creation by allowing JDK vendors to omit JMOD files from their distributions. Without JMOD files, tools like install4j cannot build cross-platform runtime images. This had the potential to seriously disrupt functionality for our users.
JProfiler tips roundup May 2025

I regularly share practical advice and insights on JProfiler and install4j on social media, covering features, shortcuts, and use cases. This blog post collects everything shared in May 2025. Each section rewrites the original thread in plain text.
Follow me on to catch future tips as they’re posted.
JVM performance watch roundup May 2025

I post notes on JVM performance-related news on social media whenever a patch, JEP, or benchmark catches my eye. This blog post collects everything shared in May 2025. Each section rewrites the original thread in plain text.
Follow me on to get these updates as soon as they go out.
JProfiler tips roundup April 2025

I regularly share practical advice and insights on JProfiler and install4j on social media, covering features, shortcuts, and use cases. This blog post collects everything shared in April 2025. Each section rewrites the original thread in plain text.
Follow me on to catch future tips as they’re posted.
JVM performance watch roundup April 2025

I post notes on JVM performance-related news on social media whenever a patch, JEP, or benchmark catches my eye. This blog post collects everything shared in April 2025. Each section rewrites the original thread in plain text.
Follow me on to get these updates as soon as they go out.
Heap Walker scripting for snapshot analysis
Previously, JProfiler's heap walker only offered advanced filtering and grouping features in live sessions. With JProfiler 15, the heap walker introduces full support for filtering and grouping in snapshots. A new API lets you write scripts to filter objects or define custom grouping logic based on dumped object data.
This screencast demonstrates the new functionality with a small Hibernate-based demo that creates different types of query cache entries. Hibernate’s second-level cache can quickly fill up with unexpected entries, and identifying what’s taking up space is key to resolving memory issues. JProfiler now makes it possible to answer such questions with snapshots.
The screencast shows how you can:
- Group cache keys by query structure to compare memory impact
- Use object set filter scripts to isolate problematic cache entries
- Use merged dominating references to understand why objects are retained
Capturing and comparing MBean states with JProfiler
MBeans expose a wide range of runtime metrics and management operations that are essential for understanding the internal state of Java applications. Traditionally, JProfiler has supported live inspection of MBeans during a profiling session.
With the new MBean snapshot feature in JProfiler 15, it is now possible to capture the complete MBean state, compare snapshots, and analyze metrics offline, even after the application has shut down.
This screencast demonstrates the new functionality with a small Hazelcast application that performs random map operations and registers a custom MBean for triggering cleanup operations.
Along the way, you will see how to:
- Capture and compare MBean snapshots manually
- Trigger MBean snapshots programmatically with method triggers
- Restrict the snapshot scope to specific MBeans
Advanced SSH remote profiling with JProfiler
Remote profiling can be challenging when SSH access involves custom setups, proxies, or cloud authentication plugins. JProfiler 15 introduces advanced SSH connection features that remove these obstacles, enabling profiling in complex environments without manual setup.
This screen cast shows how to profile remote JVMs even in situations where the built-in SSH client is insufficient, using AWS Session Manager as an example.
Along the way, you will see how to:
- Use OpenSSH mode for remote profiling
- Connect with ProxyCommand and the AWS CLI
- Handle SSH port forwarding restrictions with netcat mode
Profiling Java applications in VS Code with JProfiler
JProfiler now integrates directly into VS Code, bringing the powerful profiling tool into your everyday development workflow.
In this screencast, we profile the Spring Pet Clinic demo and walk through the features of the JProfiler extension for VS Code, including:
- Toggling profiling mode
- Automatic setup of profiled packages
- Source code navigation from profiling views
- Attach mode for unsupported launch methods (like Maven)
- Built-in Gradle integration
If you're using a launch method in VS Code that isn't currently supported, let us know — we’re always looking to expand support.