aboutsummaryrefslogtreecommitdiff
path: root/other/java/client/src
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-07-15 23:33:31 -0700
committerChris Lu <chris.lu@gmail.com>2020-07-15 23:33:31 -0700
commit7bca72deedb872402b4e597976eb198f3dad2d74 (patch)
treeec8246e075538b1cae71f997a761f84a6d511c86 /other/java/client/src
parent2286d27730ba0fd38654130ae8bb02181e3b45fb (diff)
downloadseaweedfs-7bca72deedb872402b4e597976eb198f3dad2d74.tar.xz
seaweedfs-7bca72deedb872402b4e597976eb198f3dad2d74.zip
reuse bytebuffer
Diffstat (limited to 'other/java/client/src')
-rw-r--r--other/java/client/src/main/java/seaweedfs/client/ByteBufferPool.java22
1 files changed, 22 insertions, 0 deletions
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<ByteBuffer> 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);
+ }
+
+}