在java的運行環境中,我們一般會關注,對象的存儲位置。在java中,一般有5個存儲空間。
1.寄存器
寄存器就是最快的存儲區,位于處理器內部
2.堆棧
位于通常的RAM中,通過堆棧指針獲取。如果需要分配新的內存空間,需要將指針下移。如果需要釋放存儲空間,需要將指針上移。一般,我們需要知道生命周期。
3.堆
堆的位置一般在內存池中,用于存放所有的JAVA對象,我們無需知曉存活的時間,但是比堆棧進行存儲分配和清理耗費更多的時間。
4.常量存儲
常量通常存放在程序代碼中,也可以放在ROM中
5.非RAM存儲
在流對象中,對象轉化為字節流發送給另一臺機器。
在持久化對象中,對象存放在磁盤上。
注意:把對象轉化為可以存放在其他媒介上的事物時,在需要時可以恢復成常規的基于RAM的對象。
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————
如果,我們關注數據的存儲,那么我們同樣需要關注Java中的GC機制。雖然說在java中,GC由系統控制,但是不正常的數據引用和錯誤的賦予其過長的生命周期,將導致內存泄漏等一系列問題。因此,關注java的存儲空間,為以后的學習打好基礎顯得由為重要!
新聞熱點
疑難解答