# GC垃圾回收

Java 提供一個很好的機制，讓開發者不在需要精算用了多少記憶體，並且不在需要手動將用不到物件從記憶體中釋放。

不過想要讓Java GC 自動幫忙回收，也需要讓自己使用過的物件變成可回收的垃圾。

Java 中的垃圾是指宣告出來的物件，在回收週期中間，已經沒有任何週期之外的指標 指向該物件。

如果想要了解深入了解GC運作機制，可參考此[連結](https://www.alexleo.click/java-%E5%96%9D%E6%9D%AF%E5%92%96%E5%95%A1%EF%BC%8C%E8%81%8A%E9%BB%9E-gc%EF%BC%88%E4%B8%80%EF%BC%89-%E5%9F%BA%E7%A4%8E%E6%A6%82%E5%BF%B5/)。

一般只需要了解到標記、清除即可

![標記](https://323359169-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LBk-GSoTMFH6RkvxGZc%2F-LBp_H7F2hvTPxBnZzo4%2F-LBp__5mzLGqX3vYzkgz%2FGC_MARK.jpg?alt=media\&token=48db73c4-ee5a-428f-afc8-1e885c89ab76)

![清除](https://323359169-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LBk-GSoTMFH6RkvxGZc%2F-LBp_H7F2hvTPxBnZzo4%2F-LBp_JPZi1x1CUluf_vM%2FGC_CLEAN.jpg?alt=media\&token=cdb992dc-87ca-4f24-8572-c85b5b56f303)
