jQuery in Action, 3rd edition
The moose likes Java in General and the fly likes Heap size and SoftReference Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Heap size and SoftReference" Watch "Heap size and SoftReference" New topic

Heap size and SoftReference

Peter Chase
Ranch Hand

Joined: Oct 30, 2001
Posts: 1970
If command-line options (-Xmx, -Xms, -XX:MinHeapFreeRation, -XX:MaxHeapFreeRatio) allow, Java will grow and shrink the heap according to the demands of the running application. I've played with these settings and they all seem to do what I expect.

However, there is a complication about which I have been unable to find any information. This involves SoftReferences, of which I have lots, for various caches.

When deciding whether to grow or shrink the heap, does Java include softly-referenced objects in its calculation of required memory?

In other words, will Java clear all my SoftReferences before deciding it has to grow the heap? Or will it grow the heap to avoid having to do so?

Betty Rubble? Well, I would go with Betty... but I'd be thinking of Wilma.
It is sorta covered in the JavaRanch Style Guide.
subject: Heap size and SoftReference
jQuery in Action, 3rd edition