Rumah  >  Artikel  >  Java  >  Adakah String Literal Pernah Sampah Dikumpul di Jawa?

Adakah String Literal Pernah Sampah Dikumpul di Jawa?

DDD
DDDasal
2024-10-30 02:46:29840semak imbas

 Are String Literals Ever Garbage Collected in Java?

Pengumpulan Sampah Huruf Rentetan

S1: Jika rentetan ditakrifkan sebagai literal pada masa penyusunan (mis., String str = "java"), adakah ia akan dikumpul sampah?

Tidak biasanya. Objek kod mengandungi rujukan kepada objek Rentetan literal, memastikan ia boleh dicapai. Pengumpulan sampah hanya berlaku apabila objek kod menjadi tidak dapat dicapai.

S2: Jika kaedah pelatih digunakan (cth., String str = new String("java").intern()), adakah ia akan menjadi sampah dikumpul?

Objek yang dikembalikan akan sama dengan literal rentetan "java", yang diintai pada masa pemuatan kelas. Oleh itu, ia tidak akan menjadi sampah yang dikutip. Walau bagaimanapun, rentetan intern yang tidak sama dengan literal rentetan boleh dikumpul sampah apabila ia tidak dapat dicapai.

S3: Adakah masuk akal bahawa literal akan menjadi sampah yang dikumpul hanya apabila kelas Rentetan dipunggah?

Tidak. Kelas String adalah penting untuk Mesin Maya Java dan tidak mungkin dipunggah. Sumber yang menyatakan sebaliknya adalah tidak betul.

Atas ialah kandungan terperinci Adakah String Literal Pernah Sampah Dikumpul di Jawa?. 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