From 10dbcf63b759b32a44c9ae82db5b61ee164f1a05 Mon Sep 17 00:00:00 2001 From: Glavo Date: Sat, 27 Nov 2021 03:31:38 +0800 Subject: [PATCH] Adjust the default capability to reduce memory allocation --- HMCLCore/src/main/java/org/jackhuang/hmcl/util/Logging.java | 6 ++++-- .../src/main/java/org/jackhuang/hmcl/util/StringUtils.java | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Logging.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Logging.java index 9076b71b5..95d789777 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Logging.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Logging.java @@ -17,6 +17,8 @@ */ package org.jackhuang.hmcl.util; +import org.jackhuang.hmcl.util.io.IOUtils; + import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; @@ -34,7 +36,7 @@ public final class Logging { } public static final Logger LOG = Logger.getLogger("HMCL"); - private static ByteArrayOutputStream storedLogs = new ByteArrayOutputStream(); + private static final ByteArrayOutputStream storedLogs = new ByteArrayOutputStream(IOUtils.DEFAULT_BUFFER_SIZE); public static void start(Path logFolder) { LOG.setLevel(Level.ALL); @@ -100,7 +102,7 @@ public final class Logging { new Date(record.getMillis()), record.getSourceClassName(), record.getSourceMethodName(), record.getLevel().getName(), record.getMessage() - }); + }, new StringBuffer(128), null).toString(); if (record.getThrown() != null) log += StringUtils.getStackTrace(record.getThrown()); diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java index 80af57207..324de09f6 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java @@ -37,7 +37,7 @@ public final class StringUtils { } public static String getStackTrace(Throwable throwable) { - ByteArrayOutputStream stream = new ByteArrayOutputStream(); + ByteArrayOutputStream stream = new ByteArrayOutputStream(512); try { throwable.printStackTrace(new PrintStream(stream, false, "UTF-8")); return stream.toString("UTF-8");