Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Heap size and SoftReference

 
Peter Chase
Ranch Hand
Posts: 1970
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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?
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic