Mengenal Fungsi Garbage Collection pada Java


Assalamulaikum Warhmatullahi Wabarakatuh.

Pada Java, Garbage Collection adalah mekanisme Java untuk menghapus suatu objek dari memori tanpa perlu dideklarasikan secara eksplisit dalam program. Berfungsi untuk meningkatkan Management Memory yaitu kita dapat menghemat penggunaan memori, java akan menghapus sebuah objek yang tidak diperlukan atau tidak di referensikan lagi, ruang memori pada objek tersebut akan dimanfaatkan untuk keperluan lain sehingga tidak ada pemborosan memori. Garbage Collection merupakan salah satu mekanisme dari fitur JVM (Java Virtual Machine). Ini adalah salah satu kelebihan dari bahasa pemrograman Java.

Mengenal Fungsi Garbage Collection pada Java

Pada materi berikut ini kita akan belajar mengenai fungsi Garbage Collection pada Java, dengan contoh program sederhana yang menggambarkan bagaimana Garbage Collection tersebut berfungsi.

Materi Lainnya Yang Direkomendasikan:

Garbage Collection pada Java

Sebagai seorang programmer yang handal, aplikasi atau program yang kita buat harus memiliki penggunaan memori yang kecil atau seminimal mungkin, karena dengan begitu, program yang kita buatpun menjadi lebih handal juga.

Salah satu kelebihan dari pemrograman Java adalah kita dapat menigkatkan efisiensi pada memori, dengan membuang objek yang tidak terpakai atau tidak direferensikan, ini akan secara otomatis dikontrol oleh JVM (Java Virtual Machine).

Untuk melihat bagaimana cara kerja Garbage Collection pada java, kita dapat menambahkan codingan, seperti method finalize() dan juga System.gc(). Contoh Sederhananya seperti berikut ini:

package WILDAN_TECHNO_ART;

public class Balok {
    
    //Method ini akan ditampilkan jika Garbage Collection bekerja
    public void finalize(){
        System.out.println("Objek Yang Tidak Terpakai Sudah Dibersihkan:");
    }
    
    public static void main(String[] args){
        Runtime RT = Runtime.getRuntime();
        System.out.println("Jumlah Memori Awal: "+RT.totalMemory());
        
        Block objek1 = new Block(); //Block Satu
        Block objek2 = new Block(); //Block Dua
        Block objek3 = objek1; //Objek3 Mengembalikan Nilai Objek1
        objek1 = null;
        objek2 = null;
        System.out.println("Jumlah Memori Yeng Tersedia Sebelum di GC: "+RT.freeMemory());
        System.gc();
        System.out.println("===========================================");
        System.out.println("Jumlah Memori Yeng Tersedia Setelah di GC: "+RT.freeMemory());
    }
}

Demo:


Contoh Penggunaan Garbage Collection pada Java

Penjelasan:

Pada program tersebut, disana kita membuat 3 buah objek atau variable dari Class Balok, objek1 dan objek2 diinisialisasikan kedalam Balok1 dan Balok2, dan objek3 mempunyai nilai kembali dari objek Balok1.

Contoh Gambar Garbage Collection 1

Pada baris selanjutnya, objek1 dan objek2 kita ubah nilainnya menjadi null yang berarti kosong, sedangkan objek3 masih mengembalikan nilainya objek1.

Contoh Gambar Garbage Collection 2

Karena pada Balok2 tidak ada yang direferensikan nilainya, maka secara otomatis, Balok2 tersebut akan di bawa oleh System Garbage Collection pada JVM.

Contoh Gambar Garbage Collection 3

System.gc(), berfungsi untuk menjalankan Garbage Collection pada java. lalu Method finalize(), digunakan untuk memastikan bahwa objek telah bersih dan Garbage Collection telah bekerja, Di dalam metode finalize(), kita dapat menentukan tindakan yang harus dilakukan sebelum suatu objek hancur.

Dan terakhir, kita menambahkan sebuah variable Runtime, yang digunakan untuk mengecek Total Memori serta Jumlah Memori yang tersedia sebelum dan sesudah di Garbage Collection.

Itulah salah satu contoh sederhana dari penggunaan Garbage Collection pada Java, semoga meteri yang saya berikan bisa bermanfaat untuk kalian semua, jika terdapat kekurangan, saya mohon maaf.

Wassalamulaikum Warahmatullahi Wabarakatuh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.