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.
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:
- Belajar Menggunakan Operator Assignment pada Java
- Konsep Dasar Enumeration pada Java
- Belajar Memahami Konsep Shadowing pada Java
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:
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:
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.
Pada baris selanjutnya, objek1 dan objek2 kita ubah nilainnya menjadi null yang berarti kosong, sedangkan objek3 masih mengembalikan nilainya objek1.
Karena pada Balok2 tidak ada yang direferensikan nilainya, maka secara otomatis, Balok2 tersebut akan di bawa oleh System Garbage Collection pada JVM.
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.