byte [] - Array reseten

bladich

Mitglied
Guten Tag zusammen


Ich komm seit Tagen nicht weiter bei meinem Problem.


Ich hab einen byte [] Array welcher als Buffer dient, nun möchte ich den Array nach dem Erhalten einer Nachricht reseten. Im Moment mache ich dies mit

buffer = new byte[1024];

Dies sei aber nicht sauber wurde mir gesagt. Kann ich das irgendwie anderst machen?


Vielen Dank im Vorraus für Antworten. :)
 
Hallo,

was sauberer ist weiss ich nicht. Bei der jetzigen Variante, tust du ein neues ByteArray erstellen und an die Referenzvariable buffer übergeben. Dies hat zur Folge das das alte Bytearrayobjekt für den GC freigegeben wird.

Alternativ könntest du mit einer Schleife das ByteArray durchgehen und jedes Element auf 0 setzen.

Was effizienter, sauberer, besser ist, überlass ich den Profis :) !


Vg Erdal
 
Hallo,

was sauberer ist weiss ich nicht. Bei der jetzigen Variante, tust du ein neues ByteArray erstellen und an die Referenzvariable buffer übergeben. Dies hat zur Folge das das alte Bytearrayobjekt für den GC freigegeben wird.

Alternativ könntest du mit einer Schleife das ByteArray durchgehen und jedes Element auf 0 setzen.

Was effizienter, sauberer, besser ist, überlass ich den Profis :) !


Vg Erdal

Das mit der For-Schleife hab ich total ingoriert. Oo Danke, hoffe nun ist der "Auftraggeber" zufrieden. ;)

Mir wurde gesagt dass wenn der GC aufräumen muss viel Zeit verloren geht.
 
Hallo!

So gings auch:
Java:
byte[] buffer = new byte[1024];
    Arrays.fill(buffer, (byte)0);

Mir wurde gesagt dass wenn der GC aufräumen muss viel Zeit verloren geht.
Das kommt drauf an. Die GC-Dauer für kurzlebige kleine Objekte liegt im Millisekunden Bereich...

Gruß Tom
 
Zurück