public static void putMethodSigsCache(String serviceName, String methodName, String[] argSigs) {
        ConcurrentHashMap<String, String[]> cacheSigs = NOT_OVERLOAD_METHOD_SIGS_CACHE.get(serviceName);
        if (cacheSigs == null) {
            cacheSigs = new ConcurrentHashMap<String, String[]>();
            ConcurrentHashMap<String, String[]> old = NOT_OVERLOAD_METHOD_SIGS_CACHE
                .putIfAbsent(serviceName, cacheSigs);
            if (old != null) {
                cacheSigs = old;
            }
        }
        cacheSigs.put(methodName, argSigs);
    }
@Test
    public void putMethodSigsCache() throws NoSuchMethodException {
        String[] sign1 = { "a" };
        String[] sign2 = { "b" };
        ReflectCache.putMethodSigsCache("service", "hashCode", sign1);
        Assert.assertSame(sign1, ReflectCache.getMethodSigsCache("service", "hashCode"));

        ReflectCache.putMethodSigsCache("service", "hashCode", sign2);
        Assert.assertSame(sign2, ReflectCache.getMethodSigsCache("service", "hashCode"));
    }