Was ist der Unterschied zwischen Limit und Kapazität in ByteBuffer?
Was ist der Unterschied zwischen limit und Kapazität in der Java -java.nio.ByteBuffer?
InformationsquelleAutor der Frage Denzel | 2014-04-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seine besten illustriert HIER in diesem Artikel: Sie sind vor allem anders, je nach Modus,
InformationsquelleAutor der Antwort Santosh
ByteBuffer
keinenlength()
Methode. Stattdessen hat es eine verschiedene Länge-wie Konzepte:capacity
= Innerhalb derByteBuffer
gibt es einen backing -byte[]
oder etwas, das verhält sich ähnlich wie eine. Die Kapazität ist seine Größe. Die Kapazität Indizes der ersten Position über das Ende des Puffers.limit
= Beim füllen der Puffer, die Grenze ist die gleiche wie die Kapazität. Beim entleeren des Puffers, es ist eines der auf den letzten gefüllt byte in den Puffer.position
= Beim füllen der Puffer, die position, die Punkte nur auf den letzten byte gefüllt in den Puffer. Beim entleeren des Puffers, die position der Punkte nur hinter das Letzte byte geschrieben, aus dem Puffer.mark
Daneben ist ein optionales Lesezeichen, zu denen Sie eine interessante Stelle in derByteBuffer
dass Sie wieder später. Wenn Sie einenmark()
zeichnet es die aktuelle position, und wenn Sie anrufenreset()
es stellt die position.Ich hoffe, das hilft. Auch ein Beispiel kann man hier: http://mindprod.com/jgloss/bytebuffer.html
Quelle: Oracle Java Puffer Referenz - Siehe 'Invarianten' Abschnitt.
InformationsquelleAutor der Antwort Csuki
Kapazität Puffer ist die maximale Größe, die bestimmt wird auf Puffer Erstellung und ändert sich nie, Grenze ist die tatsächliche Größe geändert werden kann. Sie können nicht Lesen oder schreiben jenseits der Grenze.
InformationsquelleAutor der Antwort Evgeniy Dorofeev