Skip to main content

Apa itu alokasi memori dinamis?

Alokasi memori dinamis, juga disebut alokasi memori berbasis heap, adalah jenis manajemen memori yang sangat kontras dengan alokasi memori statis.Dalam alokasi memori dinamis, programmer memberi tahu komputer dengan tepat berapa banyak memori untuk dialokasikan untuk setiap program dan berapa lama untuk menahan memori.Ini memecahkan banyak masalah yang terjadi dalam alokasi memori statis, seperti penggunaan memori yang berlebihan dan program yang macet.Sementara itu memecahkan banyak masalah, jika programmer lupa untuk memberi tahu memori untuk dibuang, maka memori dinamis dapat menjadi masalah.

Komputer, secara default, gunakan alokasi memori statis.Ini berarti memori berlaku pada program ketika mereka digunakan, bahkan jika program tidak lagi digunakan atau jika memori yang ditahan menjadi berbahaya atau hambatan untuk kinerja.Misalnya, jika pengguna berhenti menjalankan program yang membutuhkan 2 megabytes (MB) pada mesin 3 MB, dan program kedua membutuhkan 2 MB lagi, program kedua tidak akan berfungsi.Ini karena tidak ada cukup memori yang tersisa di komputer untuk program lain.

Dengan alokasi memori statis, pengguna atau programmer tidak dapat menentukan jumlah memori yang diinginkannya, dan programmer juga tidak dapat memberi tahu memori statis untuk dibuangmemori untuk membebaskan sumber daya.Inilah sebabnya mengapa pengguna tingkat lanjut sering menggunakan alokasi memori dinamis.Programmer dapat mengontrol segala sesuatu tentang memori, termasuk berapa lama untuk menahan sumber daya.

misalnya, programmer dapat mengatur alokasi memori dinamis untuk hanya menampung 1 MB, atau kurang, yang akan menghemat memori sistem yang cukup untuk memungkinkan orang lainprogram untuk dibuka.Ini dapat dilakukan karena memori statis biasanya berlaku pada segala sesuatu tentang program, sementara memori dinamis memungkinkan pemrogram untuk mengaturnya pada nilai yang lebih rendah yang menyimpan beberapa data, tetapi tidak semuanya.Pada saat yang sama, memori statis masih akan diperlukan, dan dapat diatur dalam skema alokasi ini.

Masalah potensial dengan alokasi memori dinamis mdash;yang jarang ikut bermain mdash;adalah bahwa memori dinamis dapat terisi jika programmer lupa untuk menetapkan nilai waktu.Jika tidak ada nilai waktu yang ditetapkan, tidak seperti memori statis yang pada akhirnya akan melepaskan memori, memori dinamis akan menahan informasi.Jika program memiliki aplikasi sampah, dan sebagian besar melakukannya, itu akan diaktifkan setelah jumlah waktu tertentu untuk menghapus memori.Masih praktik terbaik untuk menetapkan nilai waktu untuk alokasi memori.