Ja som nový pre java (C # predtým) a nerozumiem tomu, ako sú nespravované zdroje oslobodené.
Vytvárajem FloatBuffer takto FloatBuffer buffer = FloatBuffer.allocate(length);
Ako ju oslobodím? Nie sú k dispozícii metódy voľného, odstraňovania alebo odstraňovania
odpovede:
4 pre odpoveď č. 1Všetka správa pamäte v systéme Java sa spracováva automaticky (s výnimkou niekoľkých prípadov týkajúcich sa prepojenia s natívnym kódom).
Keď už nie sú žiadne odkazy na váš vyhlásený FloatBuffer, bude možné získať zber odpadu. Neskôr sa zberač odpadu spustí a oddelí jeho použitú pamäť.
1 pre odpoveď č. 2
Zberač odpadu sa oň stará, keď už nie je potrebný, t. J. Nie je dosiahnuteľný v aktuálnom grafe aktívneho objektu.
1 pre odpoveď č. 3
de-pridelenie a FloatBuffer
sa zaobchádza rovnako ako väčšina ostatných objektov (vždy existuje výnimka ...).
Akonáhle už nemáte odkaz na objekt, GC robí svoju vec, keď cíti, že je správny čas.