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!