Artikel Terbaru

2 Cara Alokasi Memori Objek pada Java

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.

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.

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(); 

}

 

}


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 */

 

}


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

Posting Komentar

Respon komentar 7 x 24 jam, so please be patient :D

Hot Artikel!!!

Enkapsulasi pada Java

6 Tahap Utama dalam Melakukan Kompilasi Program Hello World Java

6 Contoh Program Method Overloading pada Java