Rumah > Soal Jawab > teks badan
Adakah pembolehubah dalam gelung dikitar semula selepas setiap gelung
Sebagai contoh
for (int i=0;i<1000000;i++){
Date date=new Date();
}
Tarikh ini tidak dirujuk, adakah ia akan dikumpul sampah? Apa yang berlaku jika objek yang dibuat dirujuk?
我想大声告诉你2017-05-17 10:00:29
GC Java termasuk YGC dan FGC.
Objek tarikh yang tidak dirujuk di sini pasti akan dikitar semula, tetapi tidak selepas setiap kitaran.
Masa GC tidak semestinya berkaitan dengan pelaksanaan kod anda.
Untuk pengetahuan berkaitan, anda boleh Baidu muat turun java GC
过去多啦不再A梦2017-05-17 10:00:29
Jawapan kepada soalan ini terletak pada keadaan di mana mekanisme kutipan sampah jvm akan melakukan kutipan sampah.
Peranan pembolehubah tempatan ialah {}, iaitu tarikh tidak dirujuk Apabila kutipan sampah dilakukan, tarikh di sini akan dikitar semula.
習慣沉默2017-05-17 10:00:29
Baharu objek disimpan dalam timbunan, dan objek yang baru dibuat disimpan di kawasan eden Hanya apabila kawasan eden penuh barulah Monitor GC dicetuskan untuk dikitar semula.
Anda boleh menambah -XX:+PrintGCDetails
pada parameter berjalan untuk memerhati situasi kitar semula GC.