[Java lista] array

Böszörményi Péter zmblevlist at gmail.com
2009. Dec. 19., Szo, 09:27:18 CET


Pont ezt tudja az ArrayList

On Sat, 12 Dec 2009 01:20:58 +0100, eMeL <emel at emel.hu> wrote:

>
>> A tömb hosszának csökkentése nem olyan triviális, ha belegondolsz,
>> ugyanis a GC-nek is tudni kell róla. Vagy nyomonkövetnie az "aktuális"
>> hosszt és a memóriából lefoglalt hosszt, vagy pedig újra kéne
>> lefoglalnia manuálisan minden ilyen csökkentés esetén. S akkor meg
>> ugyanott vagyunk, mint voltunk :)
>
> Ezt nem látom be.
> Értelmezésemben (ha objektum tömb, akkor az utolsó elemeket NULL-ozza,
> egyébként érdektelen) és a tömb objektum hossz mezőjét módosítja.
> Arról volt szó, hogy a tömbnek foglalt terület megmarad, csak a hoszz
> csökken (kizárólag csökken). [*]
>
> Nem hinném, hogy a Jáva objektumok nem egyszerűen egy memória pointert
> kapnak a lefoglalt területre és csak a GC/memoria_menedzser ismeri a
> lefoglalt terület valódi hosszát [mint a C heapnál].
> Ugyanis az objektumnak nem sok köze van ahhoz, hogy pl. erőforrás
> optimalizálás okból [**] nagyobb területet foglaltak neki mint amit kért.
>
> [**] pl. 16-32-x bytehatárra illeszt mindent vagy a kiválasztott szabad
> memória töredék kiosztásakor úgy dönt nem érdemes még ketté hasítani,
> mert a maradék túl apró lenne, stb.
>
> [*] természetesen egy segédváltozóval egyszerűen kikerülöm a problámát,
> de tisztább-szárazabb (és OOP-bb szemléletű), ha a Tomb.length-t
> használom egy hasznalthosszTomb független vátozó helyett.
>
> eMeL
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist


-- 
Üdvözlettel,
Böszörményi Péter


További információk a(z) Javalist levelezőlistáról