.NET

Memory Management & GC

Garbage Collection, generasi, finalisasi, IDisposable, using statement, kebocoran memori, profiling

22 pertanyaan wawancaraยท
Senior
1

Apa itu Garbage Collector (GC) di .NET?

Jawaban

Garbage Collector adalah mekanisme manajemen memori otomatis yang membebaskan objek yang tidak terpakai pada managed heap. Ia berjalan secara otomatis di latar belakang untuk mencegah kebocoran memori, berbeda dengan C/C++ di mana memori harus dibebaskan secara manual. GC menganalisis referensi objek dan mengumpulkan objek yang sudah tidak dapat diakses dari root aplikasi.

2

Apa saja tiga generasi pada Garbage Collector di .NET?

Jawaban

GC .NET menggunakan tiga generasi: Gen0 (objek muda berumur pendek, dikumpulkan sering), Gen1 (objek berumur menengah, zona buffer antara Gen0 dan Gen2), dan Gen2 (objek berumur panjang, jarang dikumpulkan karena mahal). Sistem generasi ini mengoptimalkan kinerja dengan terlebih dahulu mengumpulkan objek efemeral (Gen0) yang mencakup 80-90% objek, sambil menghindari pemindaian objek persisten (Gen2) secara sering.

3

Apa itu Large Object Heap (LOH) di .NET?

Jawaban

Large Object Heap adalah ruang memori terpisah untuk objek berukuran 85 KB atau lebih, yang secara logis termasuk dalam Gen2. Berbeda dengan heap standar yang dikompaksi secara teratur, LOH TIDAK dikompaksi secara default untuk menghindari biaya menyalin objek besar. Hal ini dapat menyebabkan fragmentasi memori. Sejak .NET 4.5.1, kompaksi LOH dapat diaktifkan secara manual dengan GCSettings.LargeObjectHeapCompactionMode.

4

Apa peran pola IDisposable di .NET?

5

Apa yang dilakukan pernyataan using di C#?

+19 pertanyaan wawancara

Kuasai .NET untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis