[Java lista] array

Peter Verhas peter at verhas.com
2009. Dec. 9., Sze, 14:21:47 CET


A ki kell nullázni az újrafoglalás esetén alacsony szinten
implementálva van, ami nagyon hatékony tud lenni (pl. Z80-ban volt 1db
gépi kódú utasítás, ami egy memória területet lenullázott).

Ha nem szar a gc, akkor nem fordulhat elő, hogy lenne ugyan annyi hely
a memóriában amit kérünk, csak szegmentált és ezért nem tudja odaadni.
Ilyen esetben a gc-nek neki kell indulnia és át kell pakolásznia
memóriát, hogy legyen összefüggő hely. Legfeljebb sokáig tart. A Java,
mint nyelv erre lehetőséget ad az implementációjának, és azt gondolom
anélkül, hogy részletesen utánanéztem volna, hogy a mostani (de talán
már az 1.4.2 is) elég kiforrott, hogy ezt tudja.

Az újrafoglalást és/vagy kinullázást ki kellene mérni, vagy keresni rá
SUN javaslatot. De erre most nem tudok időt szánni.

Péter

2009/12/9 Gábriel Ákos <akos.gabriel at i-logic.hu>:
> On Wed, 2009-12-09 at 13:59 +0100, István Székely wrote:
>
>> Erre a kérdésre nem tudom a választ, viszont van a java.util.Arrays
>> osztály, annak van egy csomó fill() metódusa. Szerintem ezt használd,
>> biztos nem véletlenül készítették. Tömb újbóli létrehozásakor már a
>> garbage collector is bejön a képbe, ami szintén erőforrásokat használ el
>> a takarításhoz.
>>
>> A legjobb lenne, ha kimérnéd, és az eredményeket megosztanád velünk. :)
>
> Én is örülnék egy ilyen megerősítésnek. Végiggondolva a dolgot, az
> elméletem az, hogy az újra létrehozás biztosan drágább, hiszen az újra
> létrehozott tömbön (amihez le kell foglalni a megfelelő memóriát) végig
> kell gyalogolni és le kell nullázni. Plusz az előző tömböt a garbage
> collector előbb-utóbb kénytelen lesz begyűjteni. Ebből gondolván egy
> sima nullázás olcsóbbnak tűnik.
> Plusz ha irdatlan nagy tömböket csinál az ember, akkor a memória
> fragmentálódása léphet fel, ami további balhékat bír okozni: jobb
> esetben csak garbage collectorra kell sokat várni, rosszabb esetben
> annyira fragmentált a memória, hogy az újabb foglalás már nem is
> sikerül.
>
> Szerintem. :)
>
>
> --
> Üdvözlettel,
> Gábriel Ákos
> -=E-Mail :akos.gabriel at i-logic.hu|Web:  http://www.i-logic.hu=-
> -=Tel/fax:+3612391618            |Mobil:+36209278894         =-
>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
>



-- 
Verhás Péter
ügyvezető
Verhás & Verhás Szoftver Manufaktúra Kft.
peter at verhas.com
t: +36(30)9306805


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