如何在內存管理環境中進行內存管理?內存管理環境中的內存管理
它只是垃圾收集或其他東西?
在Java中,GC是週期性的VM沒有顯式調用垃圾收集完成。我知道我們可以使用System.gc()來請求垃圾回收,但不保證垃圾回收會發生。
那麼,有沒有在內存管理的環境中其他任何方式進行內存管理?
如何在內存管理環境中進行內存管理?內存管理環境中的內存管理
它只是垃圾收集或其他東西?
在Java中,GC是週期性的VM沒有顯式調用垃圾收集完成。我知道我們可以使用System.gc()來請求垃圾回收,但不保證垃圾回收會發生。
那麼,有沒有在內存管理的環境中其他任何方式進行內存管理?
沒有很多選擇。你可以額外檢查有不同類型的GC正在http://sanjaal.com/java/574/java-general/all-about-java-garbage-collection-types-algorithms-advantages-and-disadvantages/或嘗試調整GC參數
簡短的回答你的問題是沒有。在Java環境中,您確實無法直接控制釋放或管理堆空間的方式。這就是說,現代JVM具有非常高效的GC算法,並且除了最極端的情況外,通常都會爲所有用戶管理內存使用情況做出完美可接受的工作。
儘管您無法直接控制收集哪些對象以及何時發生此過程,但您可以使用java.lang.ref中的參考類來影響哪些對象符合條件且更有可能在給定時間被垃圾收集。
即使你不能真正在技術層面上管理你的記憶,開發商仍能夠管理存儲到一定程度。我的意思是,不要試圖去爭取或改進JVM,而要讓它爲你做好工作。但話雖如此,編寫不好的程序(即糟糕的內存管理,也就是內存使用)可能導致糟糕的程序體驗。但是,如果你從設計的角度管理你的內存(即不浪費內存,利用適當的算法和數據結構,如你認爲合適的不參考/釋放內存),這些東西可以讓你的開發人員得到某種程度的控制。
簡短的回答:你不必擔心垃圾收集;唯一需要擔心的是不會導致java中的內存泄漏。 看到這一點:Creating a memory leak with Java
「存儲管理環境」? – kosa 2012-08-01 19:38:39
我認爲,問答已經足夠清楚,可以重新開放。 – Vikram 2012-08-06 15:34:27