From 6ff6d88fb05f1242569b4fbb94b48e079236860b Mon Sep 17 00:00:00 2001 From: "Andrea Cisternino (anci8360)" Date: Thu, 21 Aug 2014 15:48:37 +0200 Subject: [PATCH] Added Bytecode Manipulation section with some content. The ASM, cglib, and Javassist are the three most commonly used libraries for working with Java bytecode at runtime. They are used by many frameworks and programs to provide dynamic behavior like AOP programming. --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 4aa18e3..1d8d868 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o - [Awesome Java](#awesome-java) - [Build Tool](#build-tool) + - [Bytecode Manipulation](#bytecode-manipulation) - [Code Analysis](#code-analysis) - [Compiler-compiler](#compiler-compiler) - [Continuous Integration](#continuous-integration) @@ -56,6 +57,14 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Apache Maven](http://maven.apache.org/) - Declarative build and dependency management which favors convention over configuration. It's preferable to Apache Ant which uses a rather procedural approach and can be difficult to maintain. * [Gradle](http://www.gradle.org/) - Incremental builds which are programmed via Groovy instead of declaring XML. Works well with Maven's dependency management and treats Ant scripts as first-class citizens. +## Bytecode Manipulation + +*Libraries to manipulate Java bytecode programmatically.* + +* [ASM](http://asm.ow2.org/) - All purpose, low level, Java bytecode manipulation and analysis framework. +* [cglib](https://github.com/cglib/cglib/) - High level library to generate and transform Java byte code. +* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/) - Class library for easy editing of Java bytecode. + ## Code Analysis *Tools that provide metrics and quality measurements of static code.*