From a11a24b7c20cefe156d03f2c968d6ceff807179d Mon Sep 17 00:00:00 2001 From: godotg Date: Sun, 25 Sep 2022 17:00:22 +0800 Subject: [PATCH] =?UTF-8?q?fix[enhance]:=20=E5=AD=97=E8=8A=82=E7=A0=81?= =?UTF-8?q?=E5=A2=9E=E5=BC=BA=E7=9A=84=E6=B3=9B=E5=9E=8B=E6=93=A6=E9=99=A4?= =?UTF-8?q?=E4=B8=8D=E5=8F=97=E5=BD=B1=E5=93=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zfoo/protocol/collection/CollectionUtils.java | 14 -------------- .../serializer/enhance/EnhanceListSerializer.java | 2 +- .../serializer/enhance/EnhanceMapSerializer.java | 2 +- .../serializer/enhance/EnhanceSetSerializer.java | 2 +- 4 files changed, 3 insertions(+), 17 deletions(-) diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/CollectionUtils.java b/protocol/src/main/java/com/zfoo/protocol/collection/CollectionUtils.java index f64d1b6b..99e1272d 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/CollectionUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/CollectionUtils.java @@ -98,20 +98,6 @@ public abstract class CollectionUtils { return size <= 0 ? new HashMap<>() : new HashMap<>(comfortableCapacity(size)); } - // 字节码增强的类型转换必须要泛型擦除,erasureList,erasureSet,erasureMap会在字节码增强的代码中调用 - public static List erasureList(int size) { - return newList(size); - } - - public static Set erasureSet(int size) { - return newSet(size); - } - - public static Map erasureMap(int size) { - return newMap(size); - } - - /** * 数组初始化长度的安全上限限制,防止反序列化异常导致内存突然升高 */ diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceListSerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceListSerializer.java index 7da231ed..429bf3ed 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceListSerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceListSerializer.java @@ -67,7 +67,7 @@ public class EnhanceListSerializer implements IEnhanceSerializer { var size = "size" + GenerateProtocolFile.index.getAndIncrement(); builder.append(StringUtils.format("int {}={}.readInt($1);", size, EnhanceUtils.byteBufUtils)); - builder.append(StringUtils.format("List {} = CollectionUtils.erasureList({});", list, size)); + builder.append(StringUtils.format("List {} = CollectionUtils.newList({});", list, size)); var i = "i" + GenerateProtocolFile.index.getAndIncrement(); diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceMapSerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceMapSerializer.java index b6893098..a6c33238 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceMapSerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceMapSerializer.java @@ -80,7 +80,7 @@ public class EnhanceMapSerializer implements IEnhanceSerializer { var size = "size" + GenerateProtocolFile.index.getAndIncrement(); builder.append(StringUtils.format("int {}={}.readInt($1);", size, EnhanceUtils.byteBufUtils)); - builder.append(StringUtils.format("Map {} = CollectionUtils.erasureMap({});", map, size)); + builder.append(StringUtils.format("Map {} = CollectionUtils.newMap({});", map, size)); var i = "i" + GenerateProtocolFile.index.getAndIncrement(); builder.append(StringUtils.format("for(int {}=0; {}<{}; {}++){", i, i, size, i)); diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceSetSerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceSetSerializer.java index d8cc7e1f..5733f31b 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceSetSerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/enhance/EnhanceSetSerializer.java @@ -65,7 +65,7 @@ public class EnhanceSetSerializer implements IEnhanceSerializer { var size = "size" + GenerateProtocolFile.index.getAndIncrement(); builder.append(StringUtils.format("int {} = {}.readInt($1);", size, EnhanceUtils.byteBufUtils)); - builder.append(StringUtils.format("Set {} = CollectionUtils.erasureSet({});", set, size)); + builder.append(StringUtils.format("Set {} = CollectionUtils.newSet({});", set, size)); var i = "i" + GenerateProtocolFile.index.getAndIncrement(); builder.append(StringUtils.format("for(int {}=0; {}<{}; {}++){", i, i, size, i));