jump to navigation

Mengontrol Garbage Collector Melalui Kode Program 31 Mei 2008

Posted by firstyuyu in Garbage Collector.
add a comment

Kelas System.GC menawarkan kepada developer kontrol secara langsung terhadap kinerja garbage collector. Misalnya, kita bisa mengetahui generation maksimum yang didukung oleh managed heap dengan membaca nilai property GC.MaxGeneration; property ini selalu mengembalikan nilai 2. (lebih…)

Generation – Bagian 02 30 Mei 2008

Posted by firstyuyu in Garbage Collector.
add a comment

Katakanlah aplikasi masih terus berjalan dan mengalokasikan obyek L hingga O dan selesai menggunakan obyek G, L, dan M sehingga membuat ketiganya menjadi obyek sampah. Managed heap akan terlihat seperti gambar 05 berikut: (lebih…)

Generation – Bagian 01 30 Mei 2008

Posted by firstyuyu in Garbage Collector.
add a comment

Generation adalah sebuah mekanisme yang dimiliki oleh garbage collector yang tujuan utamanya adalah untuk meningkatkan performa aplikasi. Generational garbage collector (begini biasa disebut) mengasumsikan beberapa hal berikut: (lebih…)

Resurrection (Menghidupan Kembali Obyek yang Sudah Mati) 29 Mei 2008

Posted by firstyuyu in Garbage Collector.
add a comment

Pada artikel tentang Algoritma Finalization, telah dijelaskan bahwa ketika sebuah obyek yang mempunyai method Finalize telah mati (dianggap sebagai sampah), garbage collector akan membuat obyek tersebut hidup kembali sehingga method Finalize miliknya bisa dieksekusi. Lalu setelah method Finalize-nya dieksekusi, obyek tersebut akan mati selamanya dan siap dibersihkan oleh garbage collector. Singkatnya, sebuah obyek yang mempunyai method Finalize akan mati, hidup, lalu mati lagi. Membuat sebuah obyek yang telah mati menjadi hidup lagi disebut resurrection. (lebih…)

Statemen using di C# 28 Mei 2008

Posted by firstyuyu in .net framework, Garbage Collector.
add a comment

Pada artikel Menggunakan Dispose Pattern, dijelaskan bagaimana cara memanggil method Dispose atau Close secara eksplisit untuk membebaskan resource yang dipegang oleh sebuah obyek. Jika kita memang ingin memanggil kedua method tersebut secara eksplisit,sangat disarankan untuk menempatkan pemanggilan tersebut di dalam blok finally pada exception handling. Cara ini akan menjamin bahwa kode pembersihan akan dieksekusi. Contoh berikut menunjukkan bagaimana memanggil method Dispose atau Close dari dalam blok finally: (lebih…)

Menggunakan Dispose Pattern 27 Mei 2008

Posted by firstyuyu in .net framework, Garbage Collector.
add a comment

Sekarang mari kita lihat bagaimana kita menggunakan tipe data yang menawarkan dispose pattern. Kelas System.IO.FileStream menawarkan kemampuan untuk membuka sebuah file, membaca byte dari file, menuliskan byte ke file, dan menutup file. Ketika obyek FileStream dibuat, (lebih…)

Dispose Pattern: Memaksa Obyek untuk Membersihkan Diri 26 Mei 2008

Posted by firstyuyu in .net framework, Garbage Collector.
add a comment

Method Finalize sungguh sangat berguna karena ia memberikan jaminan bahwa native resource pasti dibebaskan ketika obyek yang bersangkutan dibersihkan oleh garbage collector. Namun, masalah dengan method Finalize adalah tidak ada jaminan tentang kapan ia akan dieksekusi, dan karena ia bukan method public, maka developer tidak bisa memanggilnya. (lebih…)

Jaminan Finalization Menggunakan Kelas CriticalFinalizerObject 22 Mei 2008

Posted by firstyuyu in Garbage Collector.
add a comment

Di dalam namespace System.Runtime.ConstrainedExecution terdapat sebuah kelas, yaitu CriticalFinalizerObject. Kelas ini, sebagaimana terlihat pada kode di bawah, tampak seperti kelas biasa. Tidak ada yang spesial. Namun sebenarnya, CLR mempunyai perlakuan khusus terhadap kelas ini dan kelas-kelas turunannya. (lebih…)

Algoritma Finalization 22 Mei 2008

Posted by firstyuyu in Garbage Collector.
add a comment

Dari luar, konsep finalization tampaknya sangat sederhana: kita membuat sebuah obyek, lalu method Finalize-nya akan dipanggil ketika ia akan dibersihkan oleh garbage collector. Namun, begitu jika kita menggali lebih dalam, finalization tidaklah sesederhana itu. (lebih…)

Hal-hal yang Menyebabkan Method Finalize Dipanggil 22 Mei 2008

Posted by firstyuyu in Garbage Collector.
add a comment

Method Finalize akan dipanggil tepat sebelum memori yang ditempati oleh obyek tersebut dibebaskan oleh garbage collector, yang mana hal tersebut bisa dipicu oleh salah satu dari lima hal berikut: (lebih…)