Pinned

Alokasi Memori Java Objek dan Fungsinya

Semua objek pada bahasa pemrograman Java dialokasikan secara dinamis pada Heap. Hal ini berbeda pada pemrograman C++ dimana objek dapat dialokasikan memorinya diantara Stack atau Heap. Pada Bahasa C++ ketika dialokasikan sebuah objek menggunakan new(), maka objek tersebut akan dialokasikan pada Heap, jika tidak maka akan dialokasikan pada Stack secara global atau static.

2 Cara Alokasi Memori Objek pada Java
Ilustrasi Memori Object Java


Ketika dideklarasikan sebuah variabel dari class dengan tipe data tertentu pada Java, hanya referensinya saja yang diciptakan sedangkan memorinya tidak dialokasikan untuk objek tersebut. Untuk dapat mengalokasikan memori pada objek, maka harus menggunakan keyword new(). Sehingga memori objek akan selalu dialokasikan pada Heap. Contoh program yang gagal dalam mengalokasikan memori berikut ini.

Contoh:

class Test

 

/* konten class */ 

void show() 

{System.out.println("Test::"

+"show() called");} 

 

 

public class Main

 

/* Driver Code */

public static void main(String[] args

Test t; 

// Error karena t tidak

// diinisialisasi

t.show(); 

}

 

}



Contoh: Alokasi memori menggunakan keyword new() membuat program dapat dijalankan.

class Test

 

/* konten class */ 

void show() 

{System.out.println("Test::"

+"show() called");} 

 

 

public class Main

 

/* Driver Code */

public static void main(String[] args

// semua objek dialokasikan

// secara dinamis

Test t = new Test(); 

t.show(); /* No error */

 

}



Artikel ini didedikasikan kepada: Devy Maria Kristiani, Diana Hidayati Utami, Emmanuel Putra Jatmiko, Erika Dwi Athala, dan Ferry Bangsawan.

5 komentar:

  1. Apa yang dimaksud dengan heap pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Heap java merupakan area memori yang digunakan untuk menyimpan object yang dibuat oleh aplikasi yang berjalan pada JVM. Object yang berada pada heap dapat dibagikan diantara thread Java. Pada kebanyakan program, penggunaan heap dibatasi ukurannya menjadi 8Gb saja untuk meminimalkan jeda pengumpulan garbage.

      Hapus
  2. Ruang penyimpanan Head pada bahasa pemrograman Java digunakan untuk alokasi memori dinamis untuk object java dan juga class JRE pada saat runtime. Object baru selalu diciptakan pada ruang heap dan referensi ke object ini akan disimpan dalam memori stack. Object-object tersebut memiliki akses global dari mana saja dalam program aplikasi.

    BalasHapus
  3. Apa perbedaan antara stack dan heap?

    BalasHapus
    Balasan
    1. Ruang Stack digunakan untuk menyimpan suatu urutan eksekusi method dan variabel lokal. Stack selalu menyimpan blok dalam urutan LIFO (Last In First Out). Sedangkan heap menggunakan alokasi memori dinamis untuk mengalokasikan dan membatalkan alokasi blok memori. Memori dialokasikan ke heap hingga salah satu dari event tertentu kemudian muncul, dan kemudian proses program akan diakhiri.

      Hapus

Hubungi admin melalui Wa : +62-896-2514-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -