jdk/src/share/classes/sun/nio/ch/Util.java
changeset 895 67f1dc69ad10
parent 798 75b3a644ef91
child 2057 3acf8e5e2ca0
equal deleted inserted replaced
894:15e617238139 895:67f1dc69ad10
    49     private static final int TEMP_BUF_POOL_SIZE = 3;
    49     private static final int TEMP_BUF_POOL_SIZE = 3;
    50 
    50 
    51     // Per-thread soft cache of the last temporary direct buffer
    51     // Per-thread soft cache of the last temporary direct buffer
    52     private static ThreadLocal<SoftReference<ByteBuffer>>[] bufferPool;
    52     private static ThreadLocal<SoftReference<ByteBuffer>>[] bufferPool;
    53 
    53 
       
    54     @SuppressWarnings("unchecked")
       
    55     static ThreadLocal<SoftReference<ByteBuffer>>[] createThreadLocalBufferPool() {
       
    56         return new ThreadLocal[TEMP_BUF_POOL_SIZE];
       
    57     }
       
    58 
    54     static {
    59     static {
    55         bufferPool = (ThreadLocal<SoftReference<ByteBuffer>>[])
    60         bufferPool = createThreadLocalBufferPool();
    56             new ThreadLocal[TEMP_BUF_POOL_SIZE];
       
    57         for (int i=0; i<TEMP_BUF_POOL_SIZE; i++)
    61         for (int i=0; i<TEMP_BUF_POOL_SIZE; i++)
    58             bufferPool[i] = new ThreadLocal<SoftReference<ByteBuffer>>();
    62             bufferPool[i] = new ThreadLocal<SoftReference<ByteBuffer>>();
    59     }
    63     }
    60 
    64 
    61     static ByteBuffer getTemporaryDirectBuffer(int size) {
    65     static ByteBuffer getTemporaryDirectBuffer(int size) {