If you just need simple proxies with minimal bytes of hits, try janino ( http://docs.codehaus.org/display/JANINO/Home ):
final String bodyText=
"public Object get(Object obj) {return null;}\n"+
"public void set(Object obj, Object val) {}\n"+
"public Class getPropertyType() {return Void.class;}\n"+
"public boolean isPrimitive() {return true;}\n";
return (PropHandle)
ClassBodyEvaluator.createFastClassBodyEvaluator(
new Scanner(target+"__"+property, new StringReader(bodyText)),
PropHandle.class,
(ClassLoader)null);
This is a snippet from my ORM that generates accessors.
If you really want to work at the bytecode level, try Javassist - it has a pretty nice interface.