We can visualize resource starvation using an elaborate rendition of the
Dining Philosophers Problem. This classic metaphor of resource allocation
among processes was first introduced in 1971 by Edsger Dijkstra in his paper
"Hierarchical Ordering of Sequential Processes." It's been a model and
universal method for verifying theories on resource allocation ever since.
The metaphor goes like this: There are three well-known philosophers in an
Asian bistro. Dinner is served but they are only given three chopsticks
because the restaurant's supply truck has been stuck in a snow storm for a
couple of days. Naturally each philosopher needs two chopsticks to eat his
dinner and each is protected from interference while he uses a chopstick.
Plato skipped lunch that day and insists ... (more)
A couple of patterns that could cause Java heap exhaustion were identified
from years of research at IBM. One interesting scenario was observed when
Java applications generated an excessive amount of finalizable objects whose
classes had non-trivial Java finalizers.
What Is a Java Finalizer?
A Java finalizer performs finalization tasks for an object. It's the opposite
of a Java constructo... (more)