diff --git a/storage/src/main/java/com/zfoo/storage/util/LambdaUtils.java b/storage/src/main/java/com/zfoo/storage/util/LambdaUtils.java index 53262fc9..17a7a7e6 100644 --- a/storage/src/main/java/com/zfoo/storage/util/LambdaUtils.java +++ b/storage/src/main/java/com/zfoo/storage/util/LambdaUtils.java @@ -15,7 +15,7 @@ import java.lang.reflect.Proxy; * @version 1.0 */ public abstract class LambdaUtils { - private static final ConcurrentReferenceHashMap, LambdaMeta> CACHE = new ConcurrentReferenceHashMap<>(64, 0.75F, 16, ConcurrentReferenceHashMap.ReferenceType.SOFT); + private static final ConcurrentReferenceHashMap, String> CACHE = new ConcurrentReferenceHashMap<>(64, 0.75F, 16, ConcurrentReferenceHashMap.ReferenceType.SOFT); /** * 该缓存可能会在任意不定的时间被清除 @@ -40,17 +40,6 @@ public abstract class LambdaUtils { } } - /** - * 解析lambda表达式,加了缓存。 - * 该缓存可能会在任意不定的时间被清除 - * - * @param Lambda类型 - * @param func 需要解析的 lambda 对象(无参方法) - * @return 返回解析后的结果 - */ - public static LambdaMeta resolve(Func1 func) { - return _resolve(func); - } /** * 获取lambda表达式函数(方法)名称 @@ -60,7 +49,7 @@ public abstract class LambdaUtils { * @return 函数名称 */ public static String getMethodName(Func1 func) { - return resolve(func).getImplMethodName(); + return CACHE.computeIfAbsent(func.getClass(), it -> extract(func).getImplMethodName()); } /** @@ -74,14 +63,4 @@ public abstract class LambdaUtils { return FieldUtils.methodToProperty(getMethodName(func)); } - /** - * 解析lambda表达式,加了缓存。 - * 该缓存可能会在任意不定的时间被清除 - * - * @param func 需要解析的 lambda 对象 - * @return 返回解析后的结果 - */ - private static LambdaMeta _resolve(Serializable func) { - return CACHE.computeIfAbsent(func.getClass(), c -> extract(func)); - } } diff --git a/storage/src/test/java/com/zfoo/storage/util/TestFieldUtils.java b/storage/src/test/java/com/zfoo/storage/util/FieldUtilsTest.java similarity index 97% rename from storage/src/test/java/com/zfoo/storage/util/TestFieldUtils.java rename to storage/src/test/java/com/zfoo/storage/util/FieldUtilsTest.java index eff121e7..15cd8ba4 100644 --- a/storage/src/test/java/com/zfoo/storage/util/TestFieldUtils.java +++ b/storage/src/test/java/com/zfoo/storage/util/FieldUtilsTest.java @@ -20,7 +20,7 @@ import static org.junit.Assert.assertEquals; /** * @author veione */ -public class TestFieldUtils { +public class FieldUtilsTest { @Test public void testPropertyName() { diff --git a/storage/src/test/java/com/zfoo/storage/util/TestLambdaFunctionCache.java b/storage/src/test/java/com/zfoo/storage/util/LambdaFunctionCacheTest.java similarity index 96% rename from storage/src/test/java/com/zfoo/storage/util/TestLambdaFunctionCache.java rename to storage/src/test/java/com/zfoo/storage/util/LambdaFunctionCacheTest.java index 6e0fde5d..1f0f88de 100644 --- a/storage/src/test/java/com/zfoo/storage/util/TestLambdaFunctionCache.java +++ b/storage/src/test/java/com/zfoo/storage/util/LambdaFunctionCacheTest.java @@ -19,7 +19,7 @@ import org.junit.Test; /** * @author veione */ -public class TestLambdaFunctionCache { +public class LambdaFunctionCacheTest { @Test public void testFunctionCache() { diff --git a/storage/src/test/java/com/zfoo/storage/util/TestLambdaFunction.java b/storage/src/test/java/com/zfoo/storage/util/LambdaFunctionTest.java similarity index 98% rename from storage/src/test/java/com/zfoo/storage/util/TestLambdaFunction.java rename to storage/src/test/java/com/zfoo/storage/util/LambdaFunctionTest.java index bd8a50b2..9b885078 100644 --- a/storage/src/test/java/com/zfoo/storage/util/TestLambdaFunction.java +++ b/storage/src/test/java/com/zfoo/storage/util/LambdaFunctionTest.java @@ -23,7 +23,7 @@ import java.lang.reflect.Method; /** * @author veione */ -public class TestLambdaFunction { +public class LambdaFunctionTest { //https://blog.csdn.net/iteye_19045/article/details/119299015 @Test public void testFuncSerialization() throws Exception {