code: public static void invokeMethod(MethodVisitor mv, Method method, Runnable load) {
          // 先加载数据
          load.run();
          // 执行方法
          if (method.getDeclaringClass().isInterface()) {
              mv.visitMethodInsn(INVOKEINTERFACE, convert(method.getDeclaringClass()),
                  method.getName(), getMethodDesc(method), true);
          } else {
              mv.visitMethodInsn(INVOKEVIRTUAL, convert(method.getDeclaringClass()), method.getName(),
                  getMethodDesc(method), false);
          }
          if (method.getReturnType() == void.class) {
              mv.visitInsn(ACONST_NULL);
              mv.visitInsn(ARETURN);
          } else {
              // 返回结果
              mv.visitInsn(ARETURN);
          }
      }
docs: byte code执行指定方法
  @param mv MethodVisitor
  @param method 要执行的方法
  @param load 加载方法需要的数据