code: public byte[] buildByteCode(Class<?> parentClass, String className) {
  
          ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS);
  
          cw.visit(version, // Java version
              ACC_PUBLIC, // public class
              convert(className), // package and name
              null, // signature (null means not generic)
              convert(parentClass), // superclass
              new String[] { convert(InvokeDistribute.class) });
  
          // 声明保存实际Target的字段
          cw.visitField(ACC_PRIVATE + ACC_FINAL, TARGET_FIELD_NAME, getByteCodeType(parentClass),
              null, null).visitEnd();
  
          /* 为类构建默认构造器（编译器会自动生成，但是此处要手动生成bytecode就只能手动生成无参构造器了） */
          generateDefaultConstructor(cw, parentClass, className);
  
          // 构建分发方法
          buildMethod(cw, className, parentClass);
          //        buildMethod(cw);
  
          // finish the class definition
          cw.visitEnd();
          return cw.toByteArray();
      }
docs: 构建byte code
  @param parentClass 父类
  @param className 生成的class名
  @return 生成的class的byte code数据