Quels sont les exemples d’applications pour un `` en Java ? Veuillez dresser la liste des exemples de scénarios où il est utilisé. Merci !
Réponses
Trop de publicités?Cette est une bonne description de ses utilisations et les lacunes. Vous essentiellement utiliser chaque fois que vous avez besoin de jeûner I/O à basse altitude. Si vous alliez à mettre en œuvre un protocole TCP/IP ou si vous écriviez une base de données (SGBD) cette classe me serait utile.
Le ByteBuffer classe est important, car il constitue une base pour l'utilisation des canaux en Java. ByteBuffer classe définit six catégories d'opérations lors de l'octet de tampons:
Relative et absolue de l' obtenir et de mettre des méthodes de lecture et d'écriture d'un seul octets;
Par rapport vrac obtenir des méthodes de transfert des séquences contiguës d'octets à partir de ce buffer dans un tableau;
Par rapport vrac mettre des méthodes de transfert des séquences contiguës d'octets à partir d'un tableau d'octets ou de certains autres octets de la mémoire tampon dans ce tampon;
Relative et absolue de l'obtenir et de mettre les méthodes lire et écrire les valeurs des autres types de primitives, leur traduction vers et à partir de séquences d'octets dans un ordre d'octets;
Méthodes de création de vue tampons, qui permettent à un octet de la mémoire tampon pour être considéré comme un tampon contenant des valeurs d'un autre type primitif; et
Méthodes de compactage, de dupliquer, et de découpage d'un tampon d'octets.
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().
// This method does not affect the position.
bbuf.put((byte)0xFF); // position=0
// Set the position
bbuf.position(5);
// Use the relative put()
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
JAVA IO à l'aide de flux orienté Api est effectuée à l'aide d'un tampon pour le stockage temporaire de données au sein de l'espace utilisateur. Les données lues à partir du disque de DMA est d'abord copié à des tampons dans l'espace noyau, qui est ensuite transfert à la mémoire tampon dans l'espace utilisateur. Il y a donc une surcharge. Éviter qu'il peut obtenir gain considérable des performances.
On ne pouvait ignorer ce tampon temporaire dans l'espace utilisateur, si il y avait un moyen directement accès à la mémoire tampon dans l'espace du noyau. JAVA NIO fournit un moyen de le faire.
ByteBuffer est parmi plusieurs tampons fournis par JAVA NIO. C'est juste un récipient ou cuve de stockage pour les données de lecture ou d'écriture de données. Au-dessus de comportement est obtenu par l'affectation directe de la mémoire tampon à l'aide de allocateDirect() de l'API de la mémoire Tampon.
La Documentation Java des Octets de la mémoire Tampon contient des informations utiles.