【学习笔记】类对象的内存释放
類對象的內存釋放
整理轉自—《SAP ABAP 面向對象程序設計(原則、模式及實踐)》
類對象與其他數據變量一樣,都是要占據程序內存的,如果確定后續程序不會再使用對象實例,我們就可以刪除對象實例,釋放內存。SAP ABAP中對于不再使用的類對象實例使用垃圾收集器(Garbage Collector)刪除。
ABAP OOP其實跟Java一樣,不必主動刪除和釋放對象,虛擬機的垃圾收集機制會幫助我們清理和收集對象內存。
清除類對象可以使用”CLEAR”和”FREE”操作,將類對象設置為空值(NULL), 清除對象引用之后,系統并不會立即釋放對象所占的內存空間,而是觸發垃圾收集機制,由ABAP的GC(即垃圾收集器)在系統的內部調度下負責回收內存,回收的時機由系統掌握。
當然ABAP OOP也提供了系統垃圾清除語句:
CL_ABAP_MEMORY_UTILITIES=>DO_GARBAGE_COLLECTION(?).
上述語句可以主動調用ABAP的垃圾收集機制,釋放系統內存資源。
【示例程序】
我們可以使用系統內置的方法獲取內存的使用情況:
CL_ABAP_MEMORY_UTILITIES=>GET_TOTAL_USED_SIZE(??IMPORTING?SIZE?=?DATA(LV_INIT_SIZE)?).
也可以通過程序運行時Debug中的內存分析(Memory Analysis)工具獲取內存使用情況。
Tip:
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【学习笔记】类对象的内存释放的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【学习笔记】Django
- 下一篇: 【学习笔记】ABAP OOD设计模式 -