From 7642585d94ad3c0fff4f1dfecc742cdce1784379 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 26 Apr 2022 09:58:45 +0800 Subject: [PATCH 1/2] Init map size --- .../java/org/apache/ibatis/builder/MapperBuilderAssistant.java | 2 +- .../ibatis/builder/annotation/MapperAnnotationBuilder.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/ibatis/builder/MapperBuilderAssistant.java b/src/main/java/org/apache/ibatis/builder/MapperBuilderAssistant.java index ee0a7693294..7d501c72364 100644 --- a/src/main/java/org/apache/ibatis/builder/MapperBuilderAssistant.java +++ b/src/main/java/org/apache/ibatis/builder/MapperBuilderAssistant.java @@ -232,7 +232,7 @@ public Discriminator buildDiscriminator( null, null, false); - Map namespaceDiscriminatorMap = new HashMap<>(); + Map namespaceDiscriminatorMap = new HashMap<>(discriminatorMap.size()); for (Map.Entry e : discriminatorMap.entrySet()) { String resultMap = e.getValue(); resultMap = applyCurrentNamespace(resultMap, true); diff --git a/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationBuilder.java b/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationBuilder.java index 285c0d5b8f0..7f0ea5e8b10 100644 --- a/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationBuilder.java +++ b/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationBuilder.java @@ -282,7 +282,7 @@ private Discriminator applyDiscriminator(String resultMapId, Class resultType Class> typeHandler = (Class>) (discriminator.typeHandler() == UnknownTypeHandler.class ? null : discriminator.typeHandler()); Case[] cases = discriminator.cases(); - Map discriminatorMap = new HashMap<>(); + Map discriminatorMap = new HashMap<>(cases.length); for (Case c : cases) { String value = c.value(); String caseResultMapId = resultMapId + "-" + value; From 1a9e6320b577feef73f86d93fe254708a13d1acd Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 28 Apr 2022 21:51:32 +0800 Subject: [PATCH 2/2] set loadfactor --- .../java/org/apache/ibatis/builder/MapperBuilderAssistant.java | 2 +- .../ibatis/builder/annotation/MapperAnnotationBuilder.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/ibatis/builder/MapperBuilderAssistant.java b/src/main/java/org/apache/ibatis/builder/MapperBuilderAssistant.java index 7d501c72364..dc098726c49 100644 --- a/src/main/java/org/apache/ibatis/builder/MapperBuilderAssistant.java +++ b/src/main/java/org/apache/ibatis/builder/MapperBuilderAssistant.java @@ -232,7 +232,7 @@ public Discriminator buildDiscriminator( null, null, false); - Map namespaceDiscriminatorMap = new HashMap<>(discriminatorMap.size()); + Map namespaceDiscriminatorMap = new HashMap<>(discriminatorMap.size(), 1); for (Map.Entry e : discriminatorMap.entrySet()) { String resultMap = e.getValue(); resultMap = applyCurrentNamespace(resultMap, true); diff --git a/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationBuilder.java b/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationBuilder.java index 7f0ea5e8b10..4b256f5391b 100644 --- a/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationBuilder.java +++ b/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationBuilder.java @@ -282,7 +282,7 @@ private Discriminator applyDiscriminator(String resultMapId, Class resultType Class> typeHandler = (Class>) (discriminator.typeHandler() == UnknownTypeHandler.class ? null : discriminator.typeHandler()); Case[] cases = discriminator.cases(); - Map discriminatorMap = new HashMap<>(cases.length); + Map discriminatorMap = new HashMap<>(cases.length, 1); for (Case c : cases) { String value = c.value(); String caseResultMapId = resultMapId + "-" + value;