Win a copy of Java EE 8 High Performance this week in the Java/Jakarta EE forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Heap size and SoftReference  RSS feed

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?
Consider Paul's rocket mass heater.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!