Class ArrayAllocator
java.lang.Object
org.simpleframework.common.buffer.ArrayAllocator
- All Implemented Interfaces:
Allocator
The
ArrayAllocator
object is used to provide a means
to allocate buffers using a single byte array. This essentially uses
the heap to allocate all buffers. As a result the performance of the
resulting buffers is good, however for very large buffers this will
use quote allot of the usable heap space. For very large buffers a
mapped region of shared memory of a file should be considered.-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionConstructor for theArrayAllocator
object.ArrayAllocator
(int size) Constructor for theArrayAllocator
object.ArrayAllocator
(int size, int limit) Constructor for theArrayAllocator
object. -
Method Summary
-
Field Details
-
limit
private int limitThis represents the largest portion of memory that is allowed. -
size
private int sizeThis represents the default capacity of all allocated buffers.
-
-
Constructor Details
-
ArrayAllocator
public ArrayAllocator()Constructor for theArrayAllocator
object. This is used to instantiate the allocator with a default buffer size of half a kilobyte. This ensures that it can be used for general purpose byte storage and for minor I/O tasks. -
ArrayAllocator
public ArrayAllocator(int size) Constructor for theArrayAllocator
object. This is used to instantiate the allocator with a specified buffer size. This is typically used when a very specific buffer capacity is required, for example a request body with a known length.- Parameters:
size
- the initial capacity of the allocated buffers
-
ArrayAllocator
public ArrayAllocator(int size, int limit) Constructor for theArrayAllocator
object. This is used to instantiate the allocator with a specified buffer size. This is typically used when a very specific buffer capacity is required, for example a request body with a known length.- Parameters:
size
- the initial capacity of the allocated bufferslimit
- this is the maximum buffer size created by this
-
-
Method Details
-
allocate
This method is used to allocate a default buffer. This will allocate a buffer of predetermined size, allowing it to grow to an upper limit to accommodate extra data. If the buffer requested is larger than the limit an exception is thrown.- Specified by:
allocate
in interfaceAllocator
- Returns:
- this returns an allocated buffer with a default size
- Throws:
IOException
-
allocate
This method is used to allocate a default buffer. This will allocate a buffer of predetermined size, allowing it to grow to an upper limit to accommodate extra data. If the buffer requested is larger than the limit an exception is thrown.- Specified by:
allocate
in interfaceAllocator
- Parameters:
size
- the initial capacity of the allocated buffer- Returns:
- this returns an allocated buffer with a default size
- Throws:
IOException
-