Name: mf23781 Date: 05/20/98
There are many operations that a Java application can perform
that will cause large amounts of system memory to be consumed
(loading new classes, creating GUI objects, rendering images,
The current JVM has no mechanism for detecting a low system
memory condition, trying to improve it, and then helping the Java
application to respond to it.
On a real memory type system (such as a Network Computer),
this is a particularly severe problem. Situations arise where
there is plenty of heap space available but system memory
is nearly exhausted. Because the heap is not full, garbage
collection doesn't get run so large amounts of system memory
do not get released because the peer object(s) in the heap
have not been collected. This can quickly result in an
out-of-memory system panic.
On a virtual memory system, this behavior will potentially cause
more virtual memory to be consumed than necessary (leading to
reduced overall application performance) and possibly an out of
paging space exception.