<dependency>
<groupId>org.apache.xbean</groupId>
<artifactId>xbean-asm-shaded</artifactId>
<version>4.15</version>
</dependency>
import org.apache.xbean.asm.shaded.commons.ClassWriter;
import org.apache.xbean.asm.shaded.commons.MethodVisitor;
public class HelloWorld {
public static void main(String[] args) {
ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_FRAMES);
cw.visit( /* ... */ );
MethodVisitor mv = cw.visitMethod( /* ... */ );
mv.visitCode();
mv.visitVarInsn(ALOAD, 0);
mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V", false);
mv.visitInsn(RETURN);
mv.visitMaxs(1, 1);
mv.visitEnd();
byte[] bytecode = cw.toByteArray();
Class<?> helloWorldClass = new CustomClassLoader().defineClass("HelloWorld", bytecode);
Object helloWorld = helloWorldClass.newInstance();
helloWorld.getClass().getMethod("sayHello").invoke(helloWorld);
}
}