Apabila menggunakan bahasa pengaturcaraan Java yang pelbagai rupa, pembangun sering memikirkan nasib pemalar String dalam keadaan berbahaya air pengurusan ingatan. Kumpulan yang berterusan, aspek yang dihormati dalam Java Virtual Machines (JVM), menyediakan perlindungan untuk entiti yang tidak berubah ini. Walau bagaimanapun, misteri terletak pada membezakan tempat tinggal pilihan mereka: bentangan timbunan yang sekejap atau alam timbunan yang kekal?
Konvensyen akan membawa kita untuk menganggap yang pertama, kerana literal String, seperti pengembara bersendirian, tidak mempunyai pertalian dengan mana-mana objek. Namun, apabila kita menyelidiki lebih mendalam ke dalam alam pengumpulan sampah yang penuh teka-teki, persoalan yang membimbangkan timbul: jika pemalar ini berada dalam timbunan yang tidak kekal, bagaimanakah ia dapat melepaskan diri daripada cengkaman sapuan pembersihan GC?
Kunci untuk membongkar enigma ini terletak dalam bidang seni bina dalaman Java. Menurut Spesifikasi Mesin Maya Java yang bijak, String literal mendapat ketenangan dalam batasan suci kumpulan pemalar masa jalan, tempat perlindungan yang berada dalam kawasan kaedah yang membingungkan. Tidak seperti timbunan, kawasan mistik ini kekal kebal terhadap kitaran berbahaya pengumpulan sampah, menjaga integriti khazanah teks yang tidak berubah ini.
Oleh itu, kita sampai pada kebenaran: Pemalar rentetan dalam tarian Jawa di atas peringkat ingatan yang berbeza. daripada timbunan dan timbunan. Mereka tinggal di alam abadi kolam berterusan, tempat perlindungan di mana mereka bertahan tanpa disentuh oleh perarakan tanpa henti pengumpulan sampah.
Atas ialah kandungan terperinci Di manakah String Constant Pools Hidup: Timbunan atau Timbunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!