盡可能多的掌握Java的內存回收,垃圾回收機制是為了更好地管理JVM的內存,這樣才能提高java程序的運行性能。下面西安達內科技(www.xatarena.cn)Java培訓講師給出java內存管理的幾個小技巧,希望對你有所幫助。
(1)盡量使用直接量
當需要使用字符串,還有Byte,Short,Integer,Long,Float,Double,Boolean,Charater包裝類的實例時,程序不應該采用new的方式來創建對象,而應該直接采用直接量來創建它們。
(2)使用StringBuffer和StringBuilder進行字符串拼接
如果程序中采用多個String對象進行字符串連接運算,在運行時將生成大量臨時字符串,這些字符串會保存在內存中從而導致程序性能下降。
(3)盡早釋放無用對象的引用
大部分時候,方法局部引用變量所引用的對象會隨著方法結束而變成垃圾,因為局部變量的生存周期很短,當方法運行結束之時,該方法內的局部變量就結束了生命周期。因此,大部分時候程序無需將局部引用變量顯式設為null.
(4)盡量少用靜態變量
從理論來說,Java對象對象何時被回收由垃圾回收機制決定,對程序員來說是不確定的。由于垃圾回收機制判斷一個對象是否是垃圾的唯一標準就是該對象是否有引用變量引用它,因此要盡早釋放對象的引用。
(5)避免在經常調用的方法,循環中創建Java對象
(6)緩存經常使用的對象
如果有些對象需要經常使用,可以考慮把這些對象用緩存池保存起來,這樣下次需要時就可直接拿出來這些對象來用。典型的緩存池是數據連接池,數據連接池里緩存了大量的數據庫連接,每次程序需要訪問數據庫時都可直接取出數據庫連接。
(7)盡量不要用finalize方法
在一個對象失去引用之后,垃圾回收器準備回收該對象之前,垃圾回收器會先調用對象的finalize()方法來執行資源清理。出于這種考慮,可能有些開發者會考慮使用finalize()方法來進和清理。
(8)考慮使用SoftReference軟引用 |
|