Avatar billede dehdar Nybegynder
16. juni 2009 - 13:23 Der er 5 kommentarer og
1 løsning

Spørgsmål om Garbage Collection

Hej, vi sidder et par stykker og er uenige om, hvorvidt garbage collection virker.

Sker garbage collection før heapen er fyldt eller inden?

Eks. Vi har en kasse, som kan indeholde 10 klodser. Hvornår starter garbage collectoren? Svar venligst på nedenstående to spørgsmål:

1. Når man kommer med den 11 klods.
2. Inden man kommer med den 10 klods, f.eks. ved den 8 eller 9.
Avatar billede bitmatic Nybegynder
16. juni 2009 - 13:52 #1
Garbage collection sker første gang efter der er allokeret et vist antal bytes. Det er et par hundrede kilobytes så vidt jeg husker. Derefter vil Garbage collectoren prøve at optimere hvor ofte den skal køre ud fra programmets memory brug.

Generelt skal i helst være helt ligeglade med hvordan/hvornår garbage collectoren kører. I skal heller ikke blande jer i dens kørsel ved eksempelvis at køre GC.Collect(). Det kan ødelægge garbage collectorens optimering.
Avatar billede arne_v Ekspert
16. juni 2009 - 14:05 #2
1)  Det er ikke fastlagt. En ny version af CLR kan vaelge at goere det paa en anden maade.
2)  Som udgangspunkt koerer den naar der er ved at vaere fyldt op i generation 0 heap'en.
3)  Du kan selv blande dig lidt via metoderne i http://msdn.microsoft.com/en-us/library/system.gc_members.aspx
4)  Laes selv:
http://blogs.msdn.com/maoni/archive/2004/06/15/156626.aspx
http://msdn.microsoft.com/en-us/magazine/bb985010.aspx
http://msdn.microsoft.com/en-us/magazine/bb985011.aspx
Avatar billede dehdar Nybegynder
27. juni 2009 - 18:32 #3
Tak for begge svar.

Arne jeg læste http://msdn.microsoft.com/en-us/magazine/bb985010.aspx og havde stor glæde af forklaringen om, hvordan CLR'ens GC virker.

Ifølge denne artikel starter garbage collectoren når generation 0 er fuld, men som du skriver så kan det variere afhængig af, hvilket .NET framework man bruger.

I må gerne smide et svar begge to. Gør det dog hurtigt da jeg skal på ferie i morgen :) Jeg beklager den sene tilbagemelding.
Avatar billede arne_v Ekspert
27. juni 2009 - 18:54 #4
svar
Avatar billede bitmatic Nybegynder
27. juni 2009 - 21:31 #5
God ferie :)
Avatar billede arne_v Ekspert
28. juni 2009 - 16:40 #6
bitmatic>

Dine point er her:
  http://www.eksperten.dk/spm/879504
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester