From 080eabc300ba2542c85e854160dc2ac17ab9cb8c Mon Sep 17 00:00:00 2001 From: gongdewei Date: Thu, 28 May 2020 11:33:28 +0800 Subject: [PATCH] set split output list initial size --- .../src/main/java/com/taobao/arthas/core/advisor/SpyImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/taobao/arthas/core/advisor/SpyImpl.java b/core/src/main/java/com/taobao/arthas/core/advisor/SpyImpl.java index aa540bef6..0a65ff0d8 100644 --- a/core/src/main/java/com/taobao/arthas/core/advisor/SpyImpl.java +++ b/core/src/main/java/com/taobao/arthas/core/advisor/SpyImpl.java @@ -203,7 +203,7 @@ public class SpyImpl extends AbstractSpy { /** * 经过优化的字符串split方法,减少产生的内存碎片。 - * trace/watch 等字节码拦截回调每次都需要进行字符串split,是一个性能瓶颈hotspot。 + * trace/watch 等字节码拦截回调每次都需要进行字符串split,调用很频繁,产生较多小对象。 * 注意: 返回的List为重用的缓存对象,不能直接引用它,有需要请复制一份 * @param str * @return @@ -211,7 +211,7 @@ public class SpyImpl extends AbstractSpy { private List splitString(String str) { List strs = splitCache.get(str); if (strs == null) { - strs = new ArrayList(); + strs = new ArrayList(8); StringUtils.splitToList(str, '|', strs); splitCache.put(str, strs); }