C’è un modo per ridurre l’heap Java quando non in uso?

Al momento sto lavorando a un’applicazione Java e sto lavorando per ottimizzare l’utilizzo della memoria. Sto seguendo le linee guida per la corretta raccolta dei rifiuti, per quanto ne so. Tuttavia, sembra che il mio heap sembri seduto alla sua dimensione massima, anche se non è necessario.

Il mio programma esegue un’attività che richiede molte risorse una volta all’ora, quando il computer non è utilizzato da una persona. Questa attività utilizza un buon pezzo di memoria, ma libera tutto immediatamente dopo il completamento dell’attività. Il profiler NetBeans rivela che l’utilizzo della memoria è simile a questo:

Utilizzo della memoria del programma Java

Mi piacerebbe davvero restituire tutto lo spazio dell’heap al sistema operativo quando non è in uso. Non c’è motivo per me di cazzeggiare tutto mentre il programma non farà neanche niente per almeno un’altra ora.

È ansible? Grazie.