Node.js
Heap snapshot
Heap snapshot ve analiz öğrenirsin.
Heap snapshot
Bir heap snapshot, belirli bir anda heap'teki tüm nesnelerin ve aralarındaki başvuruların bir görüntüsüdür. Node.js, --inspect ile V8'in heap snapshot'ını almanı sağlar. Bu, bellek sızıntılarını görsel olarak bulmanın yoludur.
Bir heapSnapshot(objects) fonksiyonu bunu modeller: her nesnenin adını ve boyutunu 'ad:boyut' biçiminde bir dizeye çevirir. objects.map(o => o.name + ':' + o.size) ile her nesne dönüştürülür; .join(';') ile tek dize yapılır. Örnek: heapSnapshot([{name: 'a', size: 10}, {name: 'b', size: 20}]) 'a:10;b:20' döndürür. Bu model, bir heap snapshot'ın nasıl bir liste ürettiğini gösterir: her nesne ad ve boyutla kaydedilir. Çıktı deterministiktir.
Nesne listesi
Heap snapshot, nesneleri ad ve boyutlarıyla listeler. map her nesneyi 'ad:boyut' dizesine çevirir; join bunları birleştirir. Bu, snapshot'ın metin karşılığını üretir.
Örnek: [{name: 'a', size: 10}, {name: 'b', size: 20}] dizisi. .map(o => o.name + ':' + o.size) ['a:10', 'b:20'] verir. .join(';') ile 'a:10;b:20' olur. console.log(heapSnapshot([...])) a:10;b:20 yazdırır. Gerçek bir heap snapshot çok daha fazla veri içerir (başvurular, türler) ama bu model, snapshot'ın özünü — nesneleri ve boyutlarını listelemeyi — gösterir. Çıktı deterministiktir; aynı nesneler her zaman aynı dizeyi üretir.
Uygulama Heap snapshot fonksiyonu yaz
function heapSnapshot(objects) yaz. return objects.map(o => o.name + ':' + o.size).join(';') ile döndür. console.log(heapSnapshot([{name: 'a', size: 10}, {name: 'b', size: 20}])) yazdır.
Örnek çözümü göster
function heapSnapshot(objects) {
return objects.map(o => o.name + ':' + o.size).join(';');
}
console.log(heapSnapshot([{name: 'a', size: 10}, {name: 'b', size: 20}]));
Kendini test et
-
map çağrısını tamamla
return objects.____(o => o.name + ':' + o.size).join(';');
Cevabı göster
return objects.map(o => o.name + ':' + o.size).join(';');
-
heapSnapshot([{name:'a',size:10}]) ne döndürür?
heapSnapshot([{name:'a',size:10}])
Cevabı göster
'a:10' — map 'a:10' üretir, join tek öğeyi olduğu gibi bırakır.
-
Kavramı açıklamasına eşle
- Heap snapshot
- Heap'in görüntüsü
- map
- Her nesneyi dönüştürür
- join
- Diziyi dizeye birleştirir
- --inspect
- Snapshot aracı
Sıradaki ders: Özet - Bellek iç yapıları