jboss-javassist/javassist

Java bytecode engineering toolkit

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 52 minutes ago
Type:Library / SDKCategory(s):Core & Utility LibrariesLanguages & Runtimes
Added to GitGenius on September 16th, 2026
Created on May 24th, 2013
Open Issues & Pull Requests: 252 (+0)
GitHub issues: Enabled
Number of forks: 715
Total Stargazers: 4,229 (+0)
Total Subscribers: 160 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 19.9 days
Mean response time: 276.7 days
90th percentile: 1316.0 days
Tracked items: 18

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 27
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 600 days
Stale 30+ days: 27
Stale 90+ days: 27

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Javassist is a Java bytecode engineering toolkit that enables runtime modification and analysis of Java classes without requiring source code compilation.

The tool addresses the need to inspect, generate, and transform Java bytecode at runtime. Rather than working directly with low-level bytecode instructions, Javassist provides a higher-level API that allows developers to manipulate class structures, methods, and fields using Java-like syntax. This abstraction makes bytecode engineering accessible to developers who lack deep expertise in the JVM specification. The toolkit can load classes, modify their behavior, add new methods or fields, and inject code into existing methods before classes are loaded into memory.

Javassist suits projects requiring dynamic class modification, such as frameworks that need to instrument code, implement aspect-oriented programming, generate proxy classes, or apply runtime enhancements without modifying source files. It is particularly valuable for library developers and framework authors who need to adapt class behavior based on runtime conditions or configuration. The project is appropriate when bytecode manipulation must happen transparently during application execution, and when the overhead of reflection or other runtime techniques is unacceptable.

The project maintains steady activity with regular commits addressing bug fixes and improvements to the bytecode manipulation engine. Development focuses on maintaining compatibility with evolving Java versions and ensuring the bytecode generation logic remains correct as the JVM specification changes. The maintainers respond to issues and pull requests, indicating active stewardship of the codebase. Updates are released periodically to address compatibility concerns and incorporate community feedback, though the pace reflects the stability-focused nature of a mature infrastructure library rather than rapid feature expansion.