From 7bca72deedb872402b4e597976eb198f3dad2d74 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Wed, 15 Jul 2020 23:33:31 -0700 Subject: reuse bytebuffer --- .../main/java/seaweedfs/client/ByteBufferPool.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 other/java/client/src/main/java/seaweedfs/client/ByteBufferPool.java (limited to 'other/java/client/src') diff --git a/other/java/client/src/main/java/seaweedfs/client/ByteBufferPool.java b/other/java/client/src/main/java/seaweedfs/client/ByteBufferPool.java new file mode 100644 index 000000000..897fe9694 --- /dev/null +++ b/other/java/client/src/main/java/seaweedfs/client/ByteBufferPool.java @@ -0,0 +1,22 @@ +package seaweedfs.client; + +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.List; + +public class ByteBufferPool { + + static List bufferList = new ArrayList<>(); + + public static synchronized ByteBuffer request(int bufferSize) { + if (bufferList.isEmpty()) { + return ByteBuffer.allocate(bufferSize); + } + return bufferList.remove(bufferList.size()-1); + } + + public static synchronized void release(ByteBuffer obj) { + bufferList.add(obj); + } + +} -- cgit v1.2.3