From 08822f68ebc1f1dfe6bbdc5a0abfdf853cc8f5b1 Mon Sep 17 00:00:00 2001 From: LamGC Date: Mon, 15 Jun 2020 17:18:28 +0800 Subject: [PATCH] =?UTF-8?q?[Change]=20Locker=20=E5=A2=9E=E5=8A=A0=E6=B8=85?= =?UTF-8?q?=E7=90=86=E6=97=A5=E5=BF=97;=20[Add]=20LockerMapTest=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/net/lamgc/cgj/util/Locker.java | 13 ++++++++++++- .../java/net/lamgc/cgj/util/LockerMapTest.java | 18 ++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 src/test/java/net/lamgc/cgj/util/LockerMapTest.java diff --git a/src/main/java/net/lamgc/cgj/util/Locker.java b/src/main/java/net/lamgc/cgj/util/Locker.java index 4111025..2865367 100644 --- a/src/main/java/net/lamgc/cgj/util/Locker.java +++ b/src/main/java/net/lamgc/cgj/util/Locker.java @@ -1,9 +1,14 @@ package net.lamgc.cgj.util; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.util.concurrent.atomic.AtomicInteger; public final class Locker { + private final static Logger log = LoggerFactory.getLogger(Locker.class); + private final LockerMap fromMap; private final K key; @@ -56,9 +61,15 @@ public final class Locker { @Override public String toString() { - return "Locker{" + + return "Locker@" + this.hashCode() + "{" + "fromMap=" + fromMap + ", key=" + key + '}'; } + + @Override + protected void finalize() throws Throwable { + super.finalize(); + log.trace("{} 已销毁.", this.toString()); + } } diff --git a/src/test/java/net/lamgc/cgj/util/LockerMapTest.java b/src/test/java/net/lamgc/cgj/util/LockerMapTest.java new file mode 100644 index 0000000..e7dd519 --- /dev/null +++ b/src/test/java/net/lamgc/cgj/util/LockerMapTest.java @@ -0,0 +1,18 @@ +package net.lamgc.cgj.util; + +import org.junit.Assert; +import org.junit.Test; + +public class LockerMapTest { + + @Test + public void createAndFinalizeTest() { + LockerMap map = new LockerMap<>(); + Locker locker = map.createLocker("Test", true); + Assert.assertEquals(locker, map.createLocker("Test", true)); + locker.lock(); + locker.unlock(); + System.gc(); + } + +}