DOWNLOAD
~param bigtype~param type~param zero~make ByteBufferPool.java,Byte,byte,(byte)0~make IntBufferPool.java,Int,int,0~make FloatBufferPool.java,Float,float,0.0f~make DoubleBufferPool.java,Double,double,0.0package Utils; import java.util.Arrays;import java.util.concurrent.ConcurrentLinkedQueue; public class <bigtype>BufferPool{ public static final boolean PERSIST_ON_RELEASE = true; private static final ConcurrentLinkedQueue<<type>[]> q = new ConcurrentLinkedQueue<>(); public static <type>[] acquireAsIs(int minSize) { if (minSize <= 0) return null; <type>[] buffer; do { buffer = q.poll(); if (buffer == null) return new <type>[minSize]; } while (buffer.length < minSize); return buffer; } public static <type>[] acquireZeroed(int minSize) { if (minSize <= 0) return null; <type>[] buffer = acquireAsIs(minSize); Arrays.fill(buffer, 0, minSize, <zero>); return buffer; } public static <type>[] release(<type>[] buffer) { if (PERSIST_ON_RELEASE && buffer != null) q.add(buffer); return null; }}