This week's book giveaway is in the General Computing forum. We're giving away four copies of Arduino in Action and have Martin Evans, Joshua Noble, and Jordan Hochenbaum on-line! See this thread for details.
Can garbage collection ensure that a program will not run out of memory while running? I know there is no way to know when it will begin, but does it have a safegaurd that will cause it to execute at some random time before the program runs out of memory?
In fact, it is guaranteed that it will run immediately if a memory request is made and insufficient memory is present to fill the request. However, there is no guarantee that it will be able to successfully free any memory - if all the objects in memory still have references to them, you're basically screwed.