¿Para qué sirve ByteBuffer en Java? [cerrado]
¿ Cuáles son las aplicaciones de ejemplo para a ByteBuffer
en Java? Enumere cualquier escenario de ejemplo en el que se utilice esto.
Esta es una buena descripción de sus usos y desventajas. Básicamente, lo utilizas siempre que necesitas realizar E/S rápidas de bajo nivel. Si fuera a implementar un protocolo TCP/IP o si estuviera escribiendo una base de datos (DBMS), esta clase sería útil.
La clase ByteBuffer es importante porque forma la base para el uso de canales en Java. La clase ByteBuffer define seis categorías de operaciones sobre buffers de bytes, como se indica en la documentación de Java 7 :
Métodos get y put absolutos y relativos que leen y escriben bytes individuales;
Métodos de obtención masiva relativa que transfieren secuencias contiguas de bytes desde este búfer a una matriz;
Métodos de colocación masiva relativa que transfieren secuencias contiguas de bytes desde una matriz de bytes o algún otro búfer de bytes a este búfer;
Métodos get y put absolutos y relativos que leen y escriben valores de otros tipos primitivos, traduciéndolos hacia y desde secuencias de bytes en un orden de bytes particular;
Métodos para crear búferes de visualización, que permiten ver un búfer de bytes como un búfer que contiene valores de algún otro tipo primitivo; y
Métodos para compactar , duplicar y dividir un búfer de bytes.
Example code : Putting Bytes into a buffer.
// Create an empty ByteBuffer with a 10 byte capacity
ByteBuffer bbuf = ByteBuffer.allocate(10);
// Get the buffer's capacity
int capacity = bbuf.capacity(); // 10
// Use the absolute put(int, byte).
// This method does not affect the position.
bbuf.put(0, (byte)0xFF); // position=0
// Set the position
bbuf.position(5);
// Use the relative put(byte)
bbuf.put((byte)0xFF);
// Get the new position
int pos = bbuf.position(); // 6
// Get remaining byte count
int rem = bbuf.remaining(); // 4
// Set the limit
bbuf.limit(7); // remaining=1
// This convenience method sets the position to 0
bbuf.rewind(); // remaining=7