## Uses of Class
java.nio.ByteBuffer

Packages that use ByteBuffer
java.lang: Provides classes that are fundamental to the design of the Java programming language.
java.lang.module: Classes to support module descriptors and creating configurations of modules by means of resolution and service binding.
java.net.http: High level HTTP API
java.nio: Defines buffers, which are containers for data, and provides an overview of the other NIO packages.
java.nio.channels: Defines channels, which represent connections to entities that are capable of performing I/O operations, such as files and sockets; defines selectors, for multiplexed, non-blocking I/O operations.
java.nio.charset: Defines charsets, decoders, and encoders, for translating between bytes and Unicode characters.
java.nio.file.attribute: Interfaces and classes providing access to file and file system attributes.
java.security: Provides the classes and interfaces for the security framework.
java.util: Contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
java.util.zip: Provides classes for reading and writing the standard ZIP and GZIP file formats.
javax.crypto: Provides the classes and interfaces for cryptographic operations.
javax.net.ssl: Provides classes for the secure socket package.

### Uses of ByteBuffer in java.lang

Methods in java.lang with parameters of type ByteBuffer
`protected Class<?>` ClassLoader.`defineClass(String name, ByteBuffer b, ProtectionDomain protectionDomain)` Converts a `ByteBuffer` into an instance of class `Class`, with the given `ProtectionDomain`.

### Uses of ByteBuffer in java.lang.module

Methods in java.lang.module that return types with arguments of type ByteBuffer
`default Optional<ByteBuffer>` ModuleReader.`read(String name)` Reads a resource, returning a byte buffer with the contents of the resource.

Methods in java.lang.module with parameters of type ByteBuffer
`static ModuleDescriptor` ModuleDescriptor.`read(ByteBuffer bb)` Reads the binary form of a module declaration from a byte buffer as a module descriptor.
`static ModuleDescriptor` ModuleDescriptor.`read(ByteBuffer bb, Supplier<Set<String>> packageFinder)` Reads the binary form of a module declaration from a byte buffer as a module descriptor.
`default void` ModuleReader.`release(ByteBuffer bb)` Release a byte buffer.

### Uses of ByteBuffer in java.net.http

Methods in java.net.http with parameters of type ByteBuffer
`boolean` HttpRequest.BodyProcessor.`onRequestBodyChunk(ByteBuffer buffer)` Called to obtain a buffer of data to send.
`void` HttpResponse.BodyProcessor.`onResponseBodyChunk(ByteBuffer b)` Called for each buffer of data received for this response.

### Uses of ByteBuffer in java.nio

Subclasses of ByteBuffer in java.nio
`class` `MappedByteBuffer` A direct byte buffer whose content is a memory-mapped region of a file.

Methods in java.nio that return ByteBuffer
`ByteBuffer` ByteBuffer.`alignedSlice(int unitSize)` Creates a new byte buffer whose content is a shared and aligned subsequence of this buffer's content.
`static ByteBuffer` ByteBuffer.`allocate(int capacity)` Allocates a new byte buffer.
`static ByteBuffer` ByteBuffer.`allocateDirect(int capacity)` Allocates a new direct byte buffer.
`abstract ByteBuffer` ByteBuffer.`asReadOnlyBuffer()` Creates a new, read-only byte buffer that shares this buffer's content.
`ByteBuffer` ByteBuffer.`clear()` Clears this buffer.
`abstract ByteBuffer` ByteBuffer.`compact()` Compacts this buffer (optional operation).
`abstract ByteBuffer` ByteBuffer.`duplicate()` Creates a new byte buffer that shares this buffer's content.
`ByteBuffer` ByteBuffer.`flip()` Flips this buffer.
`ByteBuffer` ByteBuffer.`get(byte[] dst)` Relative bulk get method.
`ByteBuffer` ByteBuffer.`get(byte[] dst, int offset, int length)` Relative bulk get method.
`ByteBuffer` ByteBuffer.`limit(int newLimit)` Sets this buffer's limit.
`ByteBuffer` ByteBuffer.`mark()` Sets this buffer's mark at its position.
`ByteBuffer` ByteBuffer.`order(ByteOrder bo)` Modifies this buffer's byte order.
`ByteBuffer` ByteBuffer.`position(int newPosition)` Sets this buffer's position.
`abstract ByteBuffer` ByteBuffer.`put(byte b)` Relative put method (optional operation).
`ByteBuffer` ByteBuffer.`put(byte[] src)` Relative bulk put method (optional operation).
`ByteBuffer` ByteBuffer.`put(byte[] src, int offset, int length)` Relative bulk put method (optional operation).
`abstract ByteBuffer` ByteBuffer.`put(int index, byte b)` Absolute put method (optional operation).
`ByteBuffer` ByteBuffer.`put(ByteBuffer src)` Relative bulk put method (optional operation).
`abstract ByteBuffer` ByteBuffer.`putChar(char value)` Relative put method for writing a char value (optional operation).
`abstract ByteBuffer` ByteBuffer.`putChar(int index, char value)` Absolute put method for writing a char value (optional operation).
`abstract ByteBuffer` ByteBuffer.`putDouble(double value)` Relative put method for writing a double value (optional operation).
`abstract ByteBuffer` ByteBuffer.`putDouble(int index, double value)` Absolute put method for writing a double value (optional operation).
`abstract ByteBuffer` ByteBuffer.`putFloat(float value)` Relative put method for writing a float value (optional operation).
`abstract ByteBuffer` ByteBuffer.`putFloat(int index, float value)` Absolute put method for writing a float value (optional operation).
`abstract ByteBuffer` ByteBuffer.`putInt(int value)` Relative put method for writing an int value (optional operation).
`abstract ByteBuffer` ByteBuffer.`putInt(int index, int value)` Absolute put method for writing an int value (optional operation).
`abstract ByteBuffer` ByteBuffer.`putLong(int index, long value)` Absolute put method for writing a long value (optional operation).
`abstract ByteBuffer` ByteBuffer.`putLong(long value)` Relative put method for writing a long value (optional operation).
`abstract ByteBuffer` ByteBuffer.`putShort(int index, short value)` Absolute put method for writing a short value (optional operation).
`abstract ByteBuffer` ByteBuffer.`putShort(short value)` Relative put method for writing a short value (optional operation).
`ByteBuffer` ByteBuffer.`reset()` Resets this buffer's position to the previously-marked position.
`ByteBuffer` ByteBuffer.`rewind()` Rewinds this buffer.
`abstract ByteBuffer` ByteBuffer.`slice()` Creates a new byte buffer whose content is a shared subsequence of this buffer's content.
`static ByteBuffer` ByteBuffer.`wrap(byte[] array)` Wraps a byte array into a buffer.
`static ByteBuffer` ByteBuffer.`wrap(byte[] array, int offset, int length)` Wraps a byte array into a buffer.

Methods in java.nio with parameters of type ByteBuffer
`int` ByteBuffer.`compareTo(ByteBuffer that)` Compares this buffer to another.
`ByteBuffer` ByteBuffer.`put(ByteBuffer src)` Relative bulk put method (optional operation).

### Uses of ByteBuffer in java.nio.channels

Methods in java.nio.channels with parameters of type ByteBuffer
`Future<Integer>` AsynchronousByteChannel.`read(ByteBuffer dst)` Reads a sequence of bytes from this channel into the given buffer.
`<A> void` AsynchronousByteChannel.`read(ByteBuffer dst, A attachment, CompletionHandler<Integer,? super A> handler)` Reads a sequence of bytes from this channel into the given buffer.
`abstract Future<Integer>` AsynchronousFileChannel.`read(ByteBuffer dst, long position)` Reads a sequence of bytes from this channel into the given buffer, starting at the given file position.
`abstract <A> void` AsynchronousFileChannel.`read(ByteBuffer dst, long position, A attachment, CompletionHandler<Integer,? super A> handler)` Reads a sequence of bytes from this channel into the given buffer, starting at the given file position.
`abstract Future<Integer>` AsynchronousSocketChannel.`read(ByteBuffer dst)`
`abstract <A> void` AsynchronousSocketChannel.`read(ByteBuffer[] dsts, int offset, int length, long timeout, TimeUnit unit, A attachment, CompletionHandler<Long,? super A> handler)` Reads a sequence of bytes from this channel into a subsequence of the given buffers.
`abstract <A> void` AsynchronousSocketChannel.`read(ByteBuffer dst, long timeout, TimeUnit unit, A attachment, CompletionHandler<Integer,? super A> handler)` Reads a sequence of bytes from this channel into the given buffer.
`<A> void` AsynchronousSocketChannel.`read(ByteBuffer dst, A attachment, CompletionHandler<Integer,? super A> handler)`
`abstract int` DatagramChannel.`read(ByteBuffer dst)` Reads a datagram from this channel.
`long` DatagramChannel.`read(ByteBuffer[] dsts)` Reads a datagram from this channel.
`abstract long` DatagramChannel.`read(ByteBuffer[] dsts, int offset, int length)` Reads a datagram from this channel.
`abstract int` FileChannel.`read(ByteBuffer dst)` Reads a sequence of bytes from this channel into the given buffer.
`long` FileChannel.`read(ByteBuffer[] dsts)` Reads a sequence of bytes from this channel into the given buffers.
`abstract long` FileChannel.`read(ByteBuffer[] dsts, int offset, int length)` Reads a sequence of bytes from this channel into a subsequence of the given buffers.
`abstract int` FileChannel.`read(ByteBuffer dst, long position)` Reads a sequence of bytes from this channel into the given buffer, starting at the given file position.
`int` ReadableByteChannel.`read(ByteBuffer dst)` Reads a sequence of bytes from this channel into the given buffer.
`long` ScatteringByteChannel.`read(ByteBuffer[] dsts)` Reads a sequence of bytes from this channel into the given buffers.
`long` ScatteringByteChannel.`read(ByteBuffer[] dsts, int offset, int length)` Reads a sequence of bytes from this channel into a subsequence of the given buffers.
`int` SeekableByteChannel.`read(ByteBuffer dst)` Reads a sequence of bytes from this channel into the given buffer.
`abstract int` SocketChannel.`read(ByteBuffer dst)`
`long` SocketChannel.`read(ByteBuffer[] dsts)`
`abstract long` SocketChannel.`read(ByteBuffer[] dsts, int offset, int length)`
`abstract SocketAddress` DatagramChannel.`receive(ByteBuffer dst)` Receives a datagram via this channel.
`abstract int` DatagramChannel.`send(ByteBuffer src, SocketAddress target)` Sends a datagram via this channel.
`Future<Integer>` AsynchronousByteChannel.`write(ByteBuffer src)` Writes a sequence of bytes to this channel from the given buffer.
`<A> void` AsynchronousByteChannel.`write(ByteBuffer src, A attachment, CompletionHandler<Integer,? super A> handler)` Writes a sequence of bytes to this channel from the given buffer.
`abstract Future<Integer>` AsynchronousFileChannel.`write(ByteBuffer src, long position)` Writes a sequence of bytes to this channel from the given buffer, starting at the given file position.
`abstract <A> void` AsynchronousFileChannel.`write(ByteBuffer src, long position, A attachment, CompletionHandler<Integer,? super A> handler)` Writes a sequence of bytes to this channel from the given buffer, starting at the given file position.
`abstract Future<Integer>` AsynchronousSocketChannel.`write(ByteBuffer src)`
`abstract <A> void` AsynchronousSocketChannel.`write(ByteBuffer[] srcs, int offset, int length, long timeout, TimeUnit unit, A attachment, CompletionHandler<Long,? super A> handler)` Writes a sequence of bytes to this channel from a subsequence of the given buffers.
`abstract <A> void` AsynchronousSocketChannel.`write(ByteBuffer src, long timeout, TimeUnit unit, A attachment, CompletionHandler<Integer,? super A> handler)` Writes a sequence of bytes to this channel from the given buffer.
`<A> void` AsynchronousSocketChannel.`write(ByteBuffer src, A attachment, CompletionHandler<Integer,? super A> handler)`
`abstract int` DatagramChannel.`write(ByteBuffer src)` Writes a datagram to this channel.
`long` DatagramChannel.`write(ByteBuffer[] srcs)` Writes a datagram to this channel.
`abstract long` DatagramChannel.`write(ByteBuffer[] srcs, int offset, int length)` Writes a datagram to this channel.
`abstract int` FileChannel.`write(ByteBuffer src)` Writes a sequence of bytes to this channel from the given buffer.
`long` FileChannel.`write(ByteBuffer[] srcs)` Writes a sequence of bytes to this channel from the given buffers.
`abstract long` FileChannel.`write(ByteBuffer[] srcs, int offset, int length)` Writes a sequence of bytes to this channel from a subsequence of the given buffers.
`abstract int` FileChannel.`write(ByteBuffer src, long position)` Writes a sequence of bytes to this channel from the given buffer, starting at the given file position.
`long` GatheringByteChannel.`write(ByteBuffer[] srcs)` Writes a sequence of bytes to this channel from the given buffers.
`long` GatheringByteChannel.`write(ByteBuffer[] srcs, int offset, int length)` Writes a sequence of bytes to this channel from a subsequence of the given buffers.
`int` SeekableByteChannel.`write(ByteBuffer src)` Writes a sequence of bytes to this channel from the given buffer.
`abstract int` SocketChannel.`write(ByteBuffer src)`
`long` SocketChannel.`write(ByteBuffer[] srcs)`
`abstract long` SocketChannel.`write(ByteBuffer[] srcs, int offset, int length)`
`int` WritableByteChannel.`write(ByteBuffer src)` Writes a sequence of bytes to this channel from the given buffer.

### Uses of ByteBuffer in java.nio.charset

Methods in java.nio.charset that return ByteBuffer
`ByteBuffer` Charset.`encode(String str)` Convenience method that encodes a string into bytes in this charset.
`ByteBuffer` Charset.`encode(CharBuffer cb)` Convenience method that encodes Unicode characters into bytes in this charset.
`ByteBuffer` CharsetEncoder.`encode(CharBuffer in)` Convenience method that encodes the remaining content of a single input character buffer into a newly-allocated byte buffer.

Methods in java.nio.charset with parameters of type ByteBuffer
`CharBuffer` Charset.`decode(ByteBuffer bb)` Convenience method that decodes bytes in this charset into Unicode characters.
`CharBuffer` CharsetDecoder.`decode(ByteBuffer in)` Convenience method that decodes the remaining content of a single input byte buffer into a newly-allocated character buffer.
`CoderResult` CharsetDecoder.`decode(ByteBuffer in, CharBuffer out, boolean endOfInput)` Decodes as many bytes as possible from the given input buffer, writing the results to the given output buffer.
`protected abstract CoderResult` CharsetDecoder.`decodeLoop(ByteBuffer in, CharBuffer out)` Decodes one or more bytes into one or more characters.
`CoderResult` CharsetEncoder.`encode(CharBuffer in, ByteBuffer out, boolean endOfInput)` Encodes as many characters as possible from the given input buffer, writing the results to the given output buffer.
`protected abstract CoderResult` CharsetEncoder.`encodeLoop(CharBuffer in, ByteBuffer out)` Encodes one or more characters into one or more bytes.
`CoderResult` CharsetEncoder.`flush(ByteBuffer out)` Flushes this encoder.
`protected CoderResult` CharsetEncoder.`implFlush(ByteBuffer out)` Flushes this encoder.

### Uses of ByteBuffer in java.nio.file.attribute

Methods in java.nio.file.attribute with parameters of type ByteBuffer
`int` UserDefinedFileAttributeView.`read(String name, ByteBuffer dst)` Read the value of a user-defined attribute into a buffer.
`int` UserDefinedFileAttributeView.`write(String name, ByteBuffer src)` Writes the value of a user-defined attribute from a buffer.

### Uses of ByteBuffer in java.security

Methods in java.security with parameters of type ByteBuffer
`protected Class<?>` SecureClassLoader.`defineClass(String name, ByteBuffer b, CodeSource cs)` Converts a `ByteBuffer` into an instance of class `Class`, with an optional CodeSource.
`protected void` MessageDigestSpi.`engineUpdate(ByteBuffer input)` Update the digest using the specified ByteBuffer.
`protected void` SignatureSpi.`engineUpdate(ByteBuffer input)` Updates the data to be signed or verified using the specified ByteBuffer.
`void` MessageDigest.`update(ByteBuffer input)` Update the digest using the specified ByteBuffer.
`void` Signature.`update(ByteBuffer data)` Updates the data to be signed or verified using the specified ByteBuffer.

### Uses of ByteBuffer in java.util

Methods in java.util that return ByteBuffer
`ByteBuffer` Base64.Decoder.`decode(ByteBuffer buffer)` Decodes all bytes from the input byte buffer using the `Base64` encoding scheme, writing the results into a newly-allocated ByteBuffer.
`ByteBuffer` Base64.Encoder.`encode(ByteBuffer buffer)` Encodes all remaining bytes from the specified byte buffer into a newly-allocated ByteBuffer using the `Base64` encoding scheme.

Methods in java.util with parameters of type ByteBuffer
`ByteBuffer` Base64.Decoder.`decode(ByteBuffer buffer)` Decodes all bytes from the input byte buffer using the `Base64` encoding scheme, writing the results into a newly-allocated ByteBuffer.
`ByteBuffer` Base64.Encoder.`encode(ByteBuffer buffer)` Encodes all remaining bytes from the specified byte buffer into a newly-allocated ByteBuffer using the `Base64` encoding scheme.
`static BitSet` BitSet.`valueOf(ByteBuffer bb)` Returns a new bit set containing all the bits in the given byte buffer between its position and limit.

### Uses of ByteBuffer in java.util.zip

Methods in java.util.zip with parameters of type ByteBuffer
`void` Adler32.`update(ByteBuffer buffer)` Updates the checksum with the bytes from the specified buffer.
`default void` Checksum.`update(ByteBuffer buffer)` Updates the current checksum with the bytes from the specified buffer.
`void` CRC32.`update(ByteBuffer buffer)` Updates the CRC-32 checksum with the bytes from the specified buffer.
`void` CRC32C.`update(ByteBuffer buffer)` Updates the CRC-32C checksum with the bytes from the specified buffer.

### Uses of ByteBuffer in javax.crypto

Methods in javax.crypto with parameters of type ByteBuffer
`int` Cipher.`doFinal(ByteBuffer input, ByteBuffer output)` Encrypts or decrypts data in a single-part operation, or finishes a multiple-part operation.
`protected int` CipherSpi.`engineDoFinal(ByteBuffer input, ByteBuffer output)` Encrypts or decrypts data in a single-part operation, or finishes a multiple-part operation.
`protected int` CipherSpi.`engineUpdate(ByteBuffer input, ByteBuffer output)` Continues a multiple-part encryption or decryption operation (depending on how this cipher was initialized), processing another data part.
`protected void` MacSpi.`engineUpdate(ByteBuffer input)` Processes `input.remaining()` bytes in the ByteBuffer `input`, starting at `input.position()`.
`protected void` CipherSpi.`engineUpdateAAD(ByteBuffer src)` Continues a multi-part update of the Additional Authentication Data (AAD).
`int` Cipher.`update(ByteBuffer input, ByteBuffer output)` Continues a multiple-part encryption or decryption operation (depending on how this cipher was initialized), processing another data part.
`void` Mac.`update(ByteBuffer input)` Processes `input.remaining()` bytes in the ByteBuffer `input`, starting at `input.position()`.
`void` Cipher.`updateAAD(ByteBuffer src)` Continues a multi-part update of the Additional Authentication Data (AAD).

### Uses of ByteBuffer in javax.net.ssl

Methods in javax.net.ssl with parameters of type ByteBuffer
`SSLEngineResult` SSLEngine.`unwrap(ByteBuffer src, ByteBuffer dst)` Attempts to decode SSL/TLS/DTLS network data into a plaintext application data buffer.
`SSLEngineResult` SSLEngine.`unwrap(ByteBuffer src, ByteBuffer[] dsts)` Attempts to decode SSL/TLS/DTLS network data into a sequence of plaintext application data buffers.
`abstract SSLEngineResult` SSLEngine.`unwrap(ByteBuffer src, ByteBuffer[] dsts, int offset, int length)` Attempts to decode SSL/TLS/DTLS network data into a subsequence of plaintext application data buffers.
`abstract SSLEngineResult` SSLEngine.`wrap(ByteBuffer[] srcs, int offset, int length, ByteBuffer dst)` Attempts to encode plaintext bytes from a subsequence of data buffers into SSL/TLS/DTLS network data.
`SSLEngineResult` SSLEngine.`wrap(ByteBuffer[] srcs, ByteBuffer dst)` Attempts to encode plaintext bytes from a sequence of data buffers into SSL/TLS/DTLS network data.
`SSLEngineResult` SSLEngine.`wrap(ByteBuffer src, ByteBuffer dst)` Attempts to encode a buffer of plaintext application data into SSL/TLS/DTLS network data.