Performance Monitoring and Profiling
- JVM TI (JVM Tool Interface) - A native programming interface for inspecting and controlling the state of a running Java application.
- async-profiler - A low overhead sampling profiler for Java featuring flame graphs, ideal for performance analysis.
- YourKit Java Profiler - A feature-rich Java profiler for in-depth memory and CPU analysis, helping developers optimize their applications.
- VisualVM - A visual tool for profiling Java applications, integrating several JDK command-line tools and lightweight profiling capabilities.
Debugging and Diagnostics
- JDK Mission Control - A powerful profiling and diagnostics tools suite for the JVM, offering advanced analysis features.
- JRebel - A JVM plugin that eliminates the need for redeployment during development, dramatically improving developer productivity.
- BTrace - A safe, dynamic tracing tool for the Java platform, allowing for runtime instrumentation of Java programs.
Memory Management and Analysis
Bytecode Manipulation and Enhancement
- ASM - A Java bytecode manipulation and analysis framework that allows developers to modify existing classes and create new ones.
- Byte Buddy - A runtime code generation library that enables creating highly dynamic Java classes without compiler support.
- cglib - A high-level API to generate and transform Java bytecode, useful for creating proxies and enhancing classes at runtime.
Build and Dependency Management
- Apache Maven - A popular build automation and project management tool that simplifies the process of managing project dependencies.