From baa402c3166ad6131d292e80f5cb7dae8d97e50a Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Wed, 2 Nov 2022 09:22:20 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/core/bukkit/HamsterCorePlugin.java | 2 - .../plugin/core/bungee/HamsterCorePlugin.java | 2 - .../common/constant/CoreConstantObjects.java | 69 +++++++++---------- 3 files changed, 32 insertions(+), 41 deletions(-) diff --git a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java index 67ffe41..3280809 100644 --- a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java +++ b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/HamsterCorePlugin.java @@ -74,8 +74,6 @@ public class HamsterCorePlugin extends JavaPlugin { Logger logger = getLogger(); long start = System.currentTimeMillis(); logger.info("仓鼠核心正在关闭..."); - CoreConstantObjects.WORKER_EXECUTOR.shutdownNow(); - logger.info("已暂停 WORKER_EXECUTOR."); CoreConstantObjects.SCHEDULED_EXECUTOR.shutdownNow(); logger.info("已暂停 SCHEDULED_EXECUTOR."); long time = System.currentTimeMillis() - start; diff --git a/hamster-core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/HamsterCorePlugin.java b/hamster-core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/HamsterCorePlugin.java index 6d5c8db..01b2e22 100644 --- a/hamster-core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/HamsterCorePlugin.java +++ b/hamster-core-bungeecord/src/main/java/cn/hamster3/mc/plugin/core/bungee/HamsterCorePlugin.java @@ -43,8 +43,6 @@ public class HamsterCorePlugin extends Plugin { Logger logger = getLogger(); long start = System.currentTimeMillis(); logger.info("仓鼠核心正在关闭..."); - CoreConstantObjects.WORKER_EXECUTOR.shutdownNow(); - logger.info("已暂停 WORKER_EXECUTOR."); CoreConstantObjects.SCHEDULED_EXECUTOR.shutdownNow(); logger.info("已暂停 SCHEDULED_EXECUTOR."); long time = System.currentTimeMillis() - start; diff --git a/hamster-core-common/src/main/java/cn/hamster3/mc/plugin/core/common/constant/CoreConstantObjects.java b/hamster-core-common/src/main/java/cn/hamster3/mc/plugin/core/common/constant/CoreConstantObjects.java index ed6d30d..a0ddf75 100644 --- a/hamster-core-common/src/main/java/cn/hamster3/mc/plugin/core/common/constant/CoreConstantObjects.java +++ b/hamster-core-common/src/main/java/cn/hamster3/mc/plugin/core/common/constant/CoreConstantObjects.java @@ -6,7 +6,9 @@ import org.jetbrains.annotations.NotNull; import java.lang.reflect.Type; import java.util.UUID; -import java.util.concurrent.*; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ThreadFactory; @SuppressWarnings("unused") public interface CoreConstantObjects { @@ -30,50 +32,43 @@ public interface CoreConstantObjects { .serializeNulls() .setPrettyPrinting() .create(); - /** - * JSON 解析器 - */ - JsonParser JSON_PARSER = new JsonParser(); - /** - * 异步线程 - */ - ExecutorService WORKER_EXECUTOR = new ThreadPoolExecutor(1, Integer.MAX_VALUE, 60, TimeUnit.MINUTES, new SynchronousQueue<>(), new APIThreadFactory("HamsterCore - Executor")); /** * 调度器线程 */ - ScheduledExecutorService SCHEDULED_EXECUTOR = Executors.newScheduledThreadPool(1, new APIThreadFactory("HamsterCore - Scheduler")); + ScheduledExecutorService SCHEDULED_EXECUTOR = Executors.newScheduledThreadPool(1, new NamedThreadFactory("HamsterCore - Scheduler")); - class APIThreadFactory implements ThreadFactory { - private final String name; - private int threadID; +} - public APIThreadFactory(String name) { - this.name = name; - threadID = 0; - } +class NamedThreadFactory implements ThreadFactory { + private final String name; + private int threadID; - @Override - public Thread newThread(@NotNull Runnable runnable) { - threadID++; - return new Thread(runnable, name + "#" + threadID); - } + public NamedThreadFactory(String name) { + this.name = name; + threadID = 0; } - class MessageTypeAdapter implements JsonSerializer, JsonDeserializer { - public static final MessageTypeAdapter INSTANCE = new MessageTypeAdapter(); - - private MessageTypeAdapter() { - } - - @Override - public DisplayMessage deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { - return new DisplayMessage().fromJson(json); - } - - @Override - public JsonElement serialize(DisplayMessage src, Type typeOfSrc, JsonSerializationContext context) { - return src.saveToJson(); - } + @Override + public Thread newThread(@NotNull Runnable runnable) { + threadID++; + return new Thread(runnable, name + "#" + threadID); + } +} + +class MessageTypeAdapter implements JsonSerializer, JsonDeserializer { + public static final MessageTypeAdapter INSTANCE = new MessageTypeAdapter(); + + private MessageTypeAdapter() { + } + + @Override + public DisplayMessage deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + return new DisplayMessage().fromJson(json); + } + + @Override + public JsonElement serialize(DisplayMessage src, Type typeOfSrc, JsonSerializationContext context) { + return src.saveToJson(); } }