From ad260cadfec6ee200dc2cff3d7260a2f6237e5a1 Mon Sep 17 00:00:00 2001 From: XenoAmess Date: Fri, 3 Dec 2021 18:20:48 +0800 Subject: [PATCH] refine collection creations (#1974) --- .../com/alibaba/arthas/spring/StringUtils.java | 2 +- .../arthas/core/server/ArthasBootstrap.java | 15 +++++++++------ .../arthas/compiler/DynamicCompilerException.java | 2 +- .../tunnel/server/endpoint/ArthasEndpoint.java | 2 +- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/arthas-spring-boot-starter/src/main/java/com/alibaba/arthas/spring/StringUtils.java b/arthas-spring-boot-starter/src/main/java/com/alibaba/arthas/spring/StringUtils.java index 04d61acfc..5c6993fda 100644 --- a/arthas-spring-boot-starter/src/main/java/com/alibaba/arthas/spring/StringUtils.java +++ b/arthas-spring-boot-starter/src/main/java/com/alibaba/arthas/spring/StringUtils.java @@ -12,7 +12,7 @@ import java.util.Map.Entry; public class StringUtils { public static Map removeDashKey(Map map) { - Map result = new HashMap(); + Map result = new HashMap(map.size()); for (Entry entry : map.entrySet()) { String key = entry.getKey(); diff --git a/core/src/main/java/com/taobao/arthas/core/server/ArthasBootstrap.java b/core/src/main/java/com/taobao/arthas/core/server/ArthasBootstrap.java index 407ca9a47..619cf6a9a 100644 --- a/core/src/main/java/com/taobao/arthas/core/server/ArthasBootstrap.java +++ b/core/src/main/java/com/taobao/arthas/core/server/ArthasBootstrap.java @@ -257,16 +257,19 @@ public class ArthasBootstrap { * https://github.com/alibaba/arthas/issues/986 * */ - Map copyMap = new HashMap(); + Map copyMap; if (argsMap != null) { - copyMap.putAll(argsMap); - } - // 添加 arthas.home - if (!copyMap.containsKey(ARTHAS_HOME_PROPERTY)) { + copyMap = new HashMap(argsMap); + // 添加 arthas.home + if (!copyMap.containsKey(ARTHAS_HOME_PROPERTY)) { + copyMap.put(ARTHAS_HOME_PROPERTY, arthasHome()); + } + } else { + copyMap = new HashMap(1); copyMap.put(ARTHAS_HOME_PROPERTY, arthasHome()); } - MapPropertySource mapPropertySource = new MapPropertySource("args", (Map)(Object)copyMap); + MapPropertySource mapPropertySource = new MapPropertySource("args", copyMap); arthasEnvironment.addFirst(mapPropertySource); tryToLoadArthasProperties(); diff --git a/memorycompiler/src/main/java/com/taobao/arthas/compiler/DynamicCompilerException.java b/memorycompiler/src/main/java/com/taobao/arthas/compiler/DynamicCompilerException.java index 0296ee227..272266890 100644 --- a/memorycompiler/src/main/java/com/taobao/arthas/compiler/DynamicCompilerException.java +++ b/memorycompiler/src/main/java/com/taobao/arthas/compiler/DynamicCompilerException.java @@ -42,7 +42,7 @@ public class DynamicCompilerException extends RuntimeException { List> messages = new ArrayList>(); if (diagnostics != null) { for (Diagnostic diagnostic : diagnostics) { - Map message = new HashMap(); + Map message = new HashMap(2); message.put("line", diagnostic.getLineNumber()); message.put("message", diagnostic.getMessage(Locale.US)); messages.add(message); diff --git a/tunnel-server/src/main/java/com/alibaba/arthas/tunnel/server/endpoint/ArthasEndpoint.java b/tunnel-server/src/main/java/com/alibaba/arthas/tunnel/server/endpoint/ArthasEndpoint.java index 10563b400..8fe8f6eb3 100644 --- a/tunnel-server/src/main/java/com/alibaba/arthas/tunnel/server/endpoint/ArthasEndpoint.java +++ b/tunnel-server/src/main/java/com/alibaba/arthas/tunnel/server/endpoint/ArthasEndpoint.java @@ -20,7 +20,7 @@ public class ArthasEndpoint { @ReadOperation public Map invoke() { - Map result = new HashMap(); + Map result = new HashMap<>(4); result.put("version", this.getClass().getPackage().getImplementationVersion()); result.put("properties", arthasProperties);