Rumah >Java >javaTutorial >Bilakah Medan Statik Boleh Dikumpul Sampah?

Bilakah Medan Statik Boleh Dikumpul Sampah?

Linda Hamilton
Linda Hamiltonasal
2024-11-30 18:51:19305semak imbas

When Can Static Fields Be Garbage Collected?

Bilakah Medan Statik Layak untuk Pengumpulan Sampah?

Kelas yang mengandungi pembolehubah statik tidak pernah dipunggah oleh pemungut sampah selagi kelas dimuatkan. Pembolehubah statik kekal dalam ingatan sepanjang tempoh program, walaupun kelas tidak lagi digunakan.

Contoh

class MyUtils {
   private static MyObject myObject = new MyObject();
   /*package*/static boolean doStuff(Params... params) {
       // do stuff with myObject and params...
   }
}

Dalam contoh ini, myObject ialah pembolehubah statik, jadi ia tidak akan layak untuk kutipan sampah sehingga kelas MyUtils dipunggah. Memandangkan kelas tidak pernah dipunggah, myObject akan kekal dalam ingatan sepanjang hayat program.

Pengecualian

JLS Seksyen 12.7 Pemunggahan Kelas dan Antara Muka menyatakan bahawa kelas atau antara muka mungkin hanya dipunggah jika pemuat kelas penentunya boleh dituntut semula oleh pemungut sampah. Kelas dan antara muka yang dimuatkan oleh pemuat bootstrap mungkin tidak dipunggah.

Atas ialah kandungan terperinci Bilakah Medan Statik Boleh Dikumpul Sampah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn