Hi,<br><br>I have gotten my answers on IRC, but thought I would also ask here. Some background on my problem.<br>I have a need for a Java application to load a large amount of data. Larger than is normal, I can load it into the JVM my using the correct -Xmx values. The issues is that after I have loaded the data and performed whatever logic I need to I want to discard the memory that was used. The JVM will garbage collect the objects, but the JVM has allocated the largest amount of memory it could from the OS. What I want to occur is to have the JVM (eventually) release this memory back to the OS. It would not have to be immediate, but it should be release within a reasonable amount of time. From my research Sun's implementation does not ever release memory back to the OS. I guess for server side processes this is ok, but for a desktop application that needs to play well with other applications (not all Java) it is not ideal.
<br><br>The garbage collector can release the memory. What kind of algorithms would be good candidates for determining when and how much should be released?<br><br>Has anyone done and research on this topic? Or actually implemented this type of functionality in a branched version of Kaffe? Is there any JVM that currently does this?
<br><br>Michael<br>