Tipe Data Stack
Tipe data stack merupakan fragmen memori akses acak (RAM), yang dialokasikan untuk setiap thread data.
Cara kerja stack ditentukan oleh prinsip LIFO. Inti dari prinsip ini adalah bahwa fragmen memori yang terakhir ditambahkan ke dalam stack akan dikeluarkan pertama kali darinya.
Inti dari bekerja dengan stack adalah bahwa ketika variabel baru dideklarasikan melalui suatu fungsi, variabel tersebut ditambahkan ke dalam stack. Ketika fungsi selesai menjalankan tugasnya - variabel secara otomatis dihapus dari memori stack dan bagian yang sebelumnya ditempatinya menjadi tersedia untuk objek lain.
Keunggulan utama stack adalah kecepatan eksekusi kode yang tinggi, namun kekurangannya adalah bahwa jika memori yang dialokasikan untuk stack penuh, variabel yang dideklarasikan tidak dapat lagi diubah dan eksekusi kode akan terhenti. Ukuran stack ditetapkan saat pembuatan thread, dan setiap variabel memiliki ukuran memori maksimumnya sendiri, yang terutama tergantung pada tipe datanya. Karena itulah, ukuran tipe data kompleks (misalnya, objek) harus dideklarasikan terlebih dahulu. Stack juga hanya dapat menampung variabel lokal dalam memori, untuk variabel global harus menggunakan heap.