Domanda su Gargage Collection

mercoledì 29 luglio 2009 - 18.05

Pierre91 Profilo | Newbie

Vi chiedo cortesemente di rispondere ad una domanda sul Garbage Collection di C#: quando il Garbage decide di eliminare un'area di memoria, elimina anche le variabili (tipi di valore) al suo interno?

phai Profilo | Newbie

>Vi chiedo cortesemente di rispondere ad una domanda sul Garbage
>Collection di C#: quando il Garbage decide di eliminare un'area
>di memoria, elimina anche le variabili (tipi di valore) al suo
>interno?

Beh... per definizione lo svuotamento di un'area di memoria prevede che tutto quanto al suo interno (variabili comprese) venga eliminato.

Ne approfitto, però, per sottolineare che questa non è una cosa che dovrebbe interessare la fase di scrittura del codice... almeno a livelli medio-alti.
La GC, infatti, elimina esclusivamente il contenuto delle celle di memoria che il tuo sw non utilizza più... e comunque lo fa quando decide di farlo, indipendentemente dal resto.

Per esempio se un tuo metodo usa una variabile X, finché quella variabile dovrà essere utilizzata da qualche parte all'interno del tuo script, quella rimarrà sempre "in vita". Se invece non serve più non è detto che la GC deallochi immediatamente quella zona di memoria... ma se ne avrà bisogno lo farà.

La GC in questo tipo di linguaggi di programmazione serve proprio a togliere all'essere umano la possibilità di sbagliare, non deallocando delle zone di memoria inutili, o deallocandole quando ancora sono utili...

Ciao

Pierpaolo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5