O que eh ASM em java?

Gostaria De Saber o Que eh e Para Que Serve

ASM serve para fazer manipulação de bytecodes. Com ele, vc consegue criar e compilar uma classe em tempo de execução e invocar os métodos dessa classe criada. É bastante utilizada pelos frameworks, como o hibernate, por exemplo. Bom, na verdade não sei se o hibernate usa o ASM ou javassist ou CGLIB, mas ambos tem o mesmo propósito.

Ah vlw

Já usei o javassist, e já fiz algo assim:

String classeA = "public class MinhaClasse {}";
Class k = javassist.gerarClasse(classeA); // inventei essa chamada "javassist.gerarClasse" pois não lembro como é exatamente
Object obj = k.newInstance();

A partir do object obj, seria possível usar a classe MinhaClasse via reflection.