@Override public MemChunkHolder<SysMemAllocator> createChunk(long size,boolean autoreclaim){
  MemChunkHolder<SysMemAllocator> ret=null;
  Long addr=null;
  if (currentMemory.get() + size > maxStoreCapacity) {
    if (m_activegc) {
      m_chunkcollector.waitReclaimCoolDown(m_gctimeout);
    }
  }
  if (currentMemory.get() + size <= maxStoreCapacity) {
    addr=m_unsafe.allocateMemory(size);
  }
  if (null != addr && 0 != addr) {
    ret=new MemChunkHolder<SysMemAllocator>(this,addr,size);
    ret.setCollector(m_chunkcollector);
    if (autoreclaim) {
      m_chunkcollector.register(ret);
    }
    m_chunksize.put(addr,size);
    currentMemory.getAndAdd(size);
  }
  return ret;
}

@ Override public MemChunkHolder < SysMemAllocator > createChunk ( long size , boolean autoreclaim ) { MemChunkHolder < SysMemAllocator > ret = null ; Long addr = null ; if ( currentMemory . get ( ) + size > maxStoreCapacity ) { if ( m_activegc ) { m_chunkcollector . waitReclaimCoolDown ( m_gctimeout ) ; } } if ( currentMemory . get ( ) + size <= maxStoreCapacity ) { addr = m_unsafe . allocateMemory ( size ) ; } if ( null != addr && 0 != addr ) { ret = new MemChunkHolder < SysMemAllocator > ( this , addr , size ) ; ret . setCollector ( m_chunkcollector ) ; if ( autoreclaim ) { m_chunkcollector . register ( ret ) ; } m_chunksize . put ( addr , size ) ; currentMemory . getAndAdd ( size ) ; } return ret ; }
create a memory chunk that is managed by its holder .
