¿La JVM devuelve memoria libre al sistema operativo cuando ya no es necesario?

Tengo una aplicación que necesita temporalmente cierta cantidad de memoria / almacenamiento dinámico para algunos procesos. Dado un valor razonable de tamaño de almacenamiento dinámico máximo para la JVM como una opción, la JVM comienza con un pequeño almacenamiento dinámico y solicita más memoria del sistema operativo a pedido.

Mi pregunta es si JVM devolverá esa memoria adicional al sistema operativo (por ejemplo, para otros procesos) cuando mi aplicación ya no necesite mucha memoria. Actualmente, mi aplicación parece mantener esa memoria para siempre, incluso cuando ya no es necesaria.

Respuestas a la pregunta(3)

Su respuesta a la pregunta