Package com.google.cloud.spanner.spi.v1
Class UnsynchronizedByteArrayOutputStream
java.lang.Object
com.google.cloud.spanner.spi.v1.UnsynchronizedByteArrayOutputStream
A simple, unsynchronized byte array output stream optimized for key encoding.
Unlike ByteArrayOutputStream, this class is not thread-safe and does not incur
synchronization overhead. This provides better performance for single-threaded key encoding
operations where synchronization is not required.
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new output stream with a default initial capacity of 32 bytes.UnsynchronizedByteArrayOutputStream(int initialCapacity) Creates a new output stream with the specified initial capacity. -
Method Summary
Modifier and TypeMethodDescriptionvoidreset()Resets the buffer so that it can be reused.intsize()Returns the current number of bytes written to this stream.byte[]Returns a copy of the buffer contents as a new byte array.voidwrite(byte[] b, int off, int len) Writes a portion of a byte array to this output stream.voidwrite(int b) Writes the specified byte to this output stream.
-
Constructor Details
-
UnsynchronizedByteArrayOutputStream
public UnsynchronizedByteArrayOutputStream()Creates a new output stream with a default initial capacity of 32 bytes. -
UnsynchronizedByteArrayOutputStream
public UnsynchronizedByteArrayOutputStream(int initialCapacity) Creates a new output stream with the specified initial capacity.- Parameters:
initialCapacity- the initial buffer size- Throws:
IllegalArgumentException- if initialCapacity is negative
-
-
Method Details
-
write
public void write(int b) Writes the specified byte to this output stream.- Parameters:
b- the byte to write (only the low 8 bits are used)
-
write
public void write(byte[] b, int off, int len) Writes a portion of a byte array to this output stream.- Parameters:
b- the source byte arrayoff- the start offset in the arraylen- the number of bytes to write
-
toByteArray
public byte[] toByteArray()Returns a copy of the buffer contents as a new byte array.- Returns:
- a new byte array containing the written bytes
-
reset
public void reset()Resets the buffer so that it can be reused. The underlying buffer is retained. -
size
public int size()Returns the current number of bytes written to this stream.- Returns:
- the number of valid bytes in the buffer
-