javascript - mekanisme kutipan sampah JS
扔个三星炸死你
扔个三星炸死你 2017-07-05 11:02:09
0
2
1018

Apabila kita menetapkan null kepada pembolehubah global, dengan itu secara aktif membatalkan rujukan dan membebaskan ingatan, adakah ini strategi pengiraan rujukan? Bukankah ini bermakna mekanisme kutipan sampah JS hanya menggunakan tanda dan jelas? Adakah strategi pembersihan markah tidak melibatkan penyahrujukan?

扔个三星炸死你
扔个三星炸死你

membalas semua(2)
仅有的幸福

Pengisytiharan pembolehubah memperuntukkan memori pada timbunan Menandakan rujukan yang sepadan sebagai batal memberitahu penterjemah bahawa ruang memori yang sepadan dengan pembolehubah ini boleh dituntut semula.

Tetapi ini adalah reka bentuk sintaks JS dan tidak melibatkan butiran pengurusan memori dalam pelaksanaan penterjemah. Malah, strategi GC pelayar juga berbeza. Chrome/Firefox/Safari menggunakan tanda dan sapu, manakala versi lama IE menggunakan pengiraan rujukan.

Selain itu, penyahrujukan bukan sahaja dalam bentuk penugasan batal. Jurubahasa boleh menentukan kitaran hayat pembolehubah melalui skop, dan menuntut semula ruang memori pembolehubah apabila mereka meninggalkan skop pembolehubah.

[Mark Clearance] dan [Reference Counting] ialah dua algoritma GC yang berbeza, manakala [Dereference] ialah ciri tatabahasa dalam JS Kedua-duanya boleh berbentuk ortogon (tidak relevan).

代言

Spesifikasi js adalah menggunakan tanda dan jelas, tetapi jika dilaksanakan, ia mungkin tidak selalunya tanda dan jelas.

Sebab anda keliru di sini adalah kerana anda hanya melihat penampilan kitar semula dan gagal melihat intipati pembersihan.

Pengiraan rujukan, seperti namanya, mengira rujukan kepada objek, dan apabila rujukannya ialah 0, ia dikitar semula.

Tanda dan jelas dibahagikan kepada dua fasa Fasa penandaan bermula dari akar dan melintasi objek yang boleh dicapai, dan kemudian objek yang tidak ditanda dikitar semula dalam fasa pembersihan.

Malah, melainkan anda melihat kepada pelaksanaan kod sumber, sukar untuk mengetahui strategi apa yang digunakan dari permukaan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!