Rumah >Java >javaTutorial >Di mana dalam Memori Java Adakah Kaedah dan Pembolehubah Statik Disimpan?
Di manakah Kaedah dan Pembolehubah Statik Disimpan dalam Java?
Tidak seperti kaedah dan pembolehubah contoh, elemen statik dalam Java tidak dikaitkan dengan kejadian tertentu sebuah kelas. Memahami lokasi memori mereka adalah penting untuk mengoptimumkan prestasi program.
Penyimpanan Memori Kaedah dan Pembolehubah Statik
Kaedah dan pembolehubah statik disimpan dalam kawasan memori timbunan yang berasingan dipanggil PermGen (atau MetaSpace dalam Java 8 ). Kawasan ini dikhaskan terutamanya untuk menyimpan data refleksi dan maklumat tentang kelas yang dimuatkan, termasuk ahli statiknya.
PermGen / MetaSpace
PermGen (kini tidak digunakan lagi) dan MetaSpace ialah memori ruang yang menyimpan data peringkat kelas seperti pembolehubah statik dan maklumat kaedah. Mereka bukan sebahagian daripada timbunan biasa yang digunakan untuk objek yang diperuntukkan timbunan. Pembolehubah statik diperuntukkan dalam ruang ini, mengekalkan nilai teknikalnya (cth., primitif atau rujukan).
Bukan Timbunan vs. Timbunan
Oleh itu, kaedah dan pembolehubah statik disimpan di luar ingatan timbunan tradisional di mana contoh objek berada. Pemisahan ini memastikan elemen statik kekal boleh diakses merentas semua kejadian kelas, tanpa mengira kitaran hayatnya.
Pengumpulan Sampah dan Pembolehubah Statik
Pembolehubah statik bukan sampah secara automatik- dikumpul. Walaupun contoh kelas tidak lagi dirujuk, pembolehubah statiknya kekal selagi kelas itu sendiri dimuatkan. Untuk mengeluarkan sumber yang dikaitkan dengan pembolehubah statik secara manual, anda boleh menetapkannya secara eksplisit kepada null atau menggunakan kaedah finalize() (walaupun ia tidak dijamin untuk dilaksanakan sebelum kutipan sampah).
Atas ialah kandungan terperinci Di mana dalam Memori Java Adakah Kaedah dan Pembolehubah Statik Disimpan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!