2011-09-16 30 views
2

我看到一個Java應用程序,如果沒有用戶輸入,閒置空閒時,堆大小將緩慢下降,而已使用堆保持「恆定」。隨着時間的推移,堆空間越來越小的意義空閒的應用程序

我不確定這是什麼意思,爲什麼會發生?

我的猜測是,這是一個JVM的優化,使堆較小,如果應用程序沒有使用它,因爲當應用程序接收用戶輸入的堆大小將再次增長(用於堆上升)

+0

你用什麼來衡量堆的大小? –

+0

我正在使用visualVM並觀看圖形。 – Blitzkr1eg

回答

2

堆的大小將根據垃圾的產生量而增長和縮小。它不會將內存釋放回操作系統。這只是通過減少訪問的內存量來提高效率。

相關問題