### Question:
MethodAccess { abstract public Object invoke(Object object, int methodIndex, Object... args);  abstract Object invoke(Object object, int methodIndex, Object... args); Object invoke(Object object, String methodName, Class<?>[] paramTypes, Object... args); Object invoke(Object object, String methodName, Object... args); int getIndex(String methodName); int getIndex(String methodName, Class<?>... paramTypes); int getIndex(String methodName, int paramsCount); String[] getMethodNames(); Class<?>[][] getParameterTypes(); Class<?>[] getReturnTypes(); @SuppressWarnings("deprecation") static MethodAccess get(Class<?> type);  }### Answer:
@Test public void testJdkReflect() throws Exception { benchmark.doSomething("testJdkReflect:", () -> method.invoke(bean, 1)); }
@Test public void testReflectAsm() throws Exception { benchmark.doSomething("testReflectAsm:", () -> access.invoke(bean, methodIndex, 1)); }