java中gc是啥_java的gc是什么
一個優秀的Java程序員必須了解GC的工作原理、如何優化GC的性能、如何與GC進行有限的交互,有一些應用程序對性能要求較高,例如嵌入式系統、實時系統等,只有全面提升內存的管理效率,才能提高整個應用程序的性能。
本文將從GC的工作原理、GC的幾個關鍵問題進行探討,最后提出一些Java程序設計建議,如何從GC角度提高Java程序的性能。
GC是什么? 為什么要有GC呢? (推薦學習:java課程)
GC是垃圾收集的意思(Garbage Collection),內存處理是編程人員容易出現問題的地方,忘記或者錯誤的內存回收會導致程序或系統的不穩定甚至崩潰,Java提供的GC功能可以自動監測對象是否超過作用域從而達到自動回收內存的目的,Java語言沒有提供釋放已分配內存的顯示操作方法。
所以,Java的內存管理實際上就是對象的管理,其中包括對象的分配和釋放。
對于Java程序員來說,分配對象使用new關鍵字;釋放對象時,只要將對象所有引用賦值為null,讓程序不能夠再訪問到這個對象,我們稱該對象為"不可達的".GC將負責回收所有"不可達"對象的內存空間。
對于GC來說,當程序員創建對象時,GC就開始監控這個對象的地址、大小以及使用情況。通常,GC采用有向圖的方式記錄和管理堆(heap)中的所有對象。
通過這種方式確定哪些對象是可達的,哪些對象是;不可達的。當GC確定一些對象為不可達時,GC就有責任回收這些內存空間。
但是,為了保證GC能夠在不同平臺實現的問題,Java規范對GC的很多行為都沒有進行嚴格的規定。
例如,對于采用什么類型的回收算法、什么時候進行回收等重要問題都沒有明確的規定。
因此,不同的JVM的實現者往往有不同的實現算法。這也給Java程序員的開發帶來行多不確定性。本文研究了幾個與GC工作相關的問題,努力減少這種不確定性給Java程序帶來的負面影響。
總結
以上是生活随笔為你收集整理的java中gc是啥_java的gc是什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA继承类phone_JAVA(9)
- 下一篇: android cliptopaddin