garbage collection


I was watching a video regarding the CLR which caused me to revisit my garbage collection knowledge pool. I find that garbage collected allocators do save developers a world of time, but are themselves frustrating to developers. With classic memory management one can simply watch a program for a period of time and develop a feel for its memory usage. This makes it really easy to detect memory leaks. I can't say the same for collected environments which, depending on the collector's implementation, may grow variably over time.

It's my current understanding that the CLR and JVM both use somewhat similar collectors. Similar from a stylistic standpoint that is, being that they are both generational collectors. Neither of which support deterministic finalization to my knowledge.