Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
intellij-inspections
Practical examples and articles for IntelliJ's Structural Search and Replace Templates
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I have used visual vm quite a bit. https://github.com/async-profiler/async-profiler is also amazing... Throw the binary on the system and fire it up. It also profiles down into native code as well if you do that kind of thing.
I enjoy using Jailer to explore databases and visualize the flow of data.
The paid version of IntelliJ also has "structural search and replace", which is amazing. You can create your own inspections and refactorings with it. Unfortunately it's not very well documented. This blog and this GH repo are good places to start to see how it works.
In a similar vein there is OpenRewrite which is an open-source project that works in a similar way. It also has a lot of great refactorings already built in, like doing all the grunt work for migrating to JUnit 5, or replacing string concatenation in SLF4J log calls with parameterized formatting.
Flamegraphs: https://www.brendangregg.com/flamegraphs.html