Re: Ranting about JVM's default memory limits...
On Sun, 3 Aug 2008, Peter Duniho wrote:
On Sun, 03 Aug 2008 18:51:41 -0700, Tom Anderson <twic@urchin.earth.li>
wrote:
Indeed, i'm not sure how just moving the boundary pointer constitutes
garbage collection at all: you find your roots, you sweep the live
objects, you mark them, and then ... what? Do nothing with that
information? Just move live objects and garbage together into the next
generation? How does that collect any garbage?
Based on your closing paragraph, I think you misunderstood what I wrote.
.NET doesn't collect by moving a pointer. It allocates memory by moving
a pointer, and it moves objects from one generation to another by moving
a pointer.
Okay. Does a compaction occur before the moving from one generation?
If not, how is garbage-filled space reclaimed?
If so, what advantage does this have over copying the objects into the
older generation's space? I guess it means that the older generation
doesn't fill up, it just grows, meaning you aren't forced to do a
collection on that generation at any point. Aha. Is that the whole point?
MSDN has detailed references regarding the design of the .NET GC system.
I don't have the links handy, but if the above clarification doesn't
address your concerns, I'm happy to search for them and post them here.
You're very kind. I think i may be understanding what you mean now,
though, so no need!
tom
--
Imagine a city where graffiti wasn't illegal, a city where everybody
could draw wherever they liked. Where every street was awash with a
million colours and little phrases. Where standing at a bus stop was never
boring. A city that felt like a living breathing thing which belonged to
everybody, not just the estate agents and barons of big business. Imagine
a city like that and stop leaning against the wall - it's wet. -- Banksy