MethodUtil { public static String generateOperationName(Method method) { StringBuilder operationName = new StringBuilder(method.getDeclaringClass() .getName() + "." + method.getName() + "("); Class<?>[] parameterTypes = method.getParameterTypes(); for (int i = 0; i < parameterTypes.length; i++) { operationName.append(parameterTypes[i].getName()); if (i < (parameterTypes.length - 1)) { operationName.append(","); } } operationName.append(")"); return operationName.toString(); }  static String generateOperationName(Method method); static boolean isMethodExist(ClassLoader classLoader, String className, String methodName,
                                        String... parameterTypes);  }
@Test public void testClassForName() throws NoSuchMethodException { Assert.assertTrue(MethodUtil.generateOperationName(MethodUtil.class.getMethod("generateOperationName", Method.class)) .equals("org.apache.skywalking.apm.agent.core.util.MethodUtil.generateOperationName(java.lang.reflect.Method)")); }