Belajar Mengenal Perbedaan Alokasi Memori Stack Vs Heap Di Java
Stack dan Heap , keduanya merupakan bab dari sistem memori ,yang ada di dalam komputer , yang fungsinya sebagai daerah , untuk mengalokasikan data , pada suatu agenda aplikasi. Dimana keduanya sama-sama disimpan , ke dalam memori RAM di komputer.
Seperti yang kita tahu , ketika kita mencoba menuliskan baris code , kemudian menjalankan suatu agenda aplikasi . Selanjutnya , akan terjadi suatu proses, yang secara otomatis akan menempatkan ke lokasi tertentu dalam memori, ketika agenda aplikasi tersebut dijalankan ,yang dimana ini sanggup juga sebut sebagai alamat memori (memory address).
Sebuah agenda yang memakai bahasa pemrograman java , akan menjalankan JVM , yang mana akan diluncurkan, atas proses perintah atau command java. Selama agenda java dijalankan (runtime) , memori akan terbagi menjadi 3 part atau bagian. Ketiga part itu terdiri dari baris code atau text , stack ,dan , heap. Beberapa baris code ,ada yang ditempatkan di memori stack , beberapa baris code lainnya , akan ditempatkan di memori heap.
Pada artikel berguru java kali ini ,kita akan berguru memahami pola perbedaan alokasi memori stack dan heap , di bahasa pemrograman java . Selengkapnya ,berikut mari kita simak lebih lanjut :
Apa itu fungsi Stack ?
Stack yaitu bab dari memori ,yang dipakai untuk pengalokasian memori secara statis. Serta untuk alamat memorinya , yang dipakai untuk menyimpan data dan variable , sudah ditentukan semenjak awal ketika proses kompilasi , bukan ketika runtime(program berjalan). Dalam metode penyimpananya , stack memakai LIFO (Last In First Out), yang dimana setiap data terakhir yang masuk akan pertama kali keluar. Ini sanggup kita analogikan ke dalam kehidupan sehari-hari ,seperti contohnya sebuah tumpukan buku atau tumpukan piring.
Stack juga dipakai untuk mengeksekusi sebuah Thread. Sebagai bab dari memori ,stack hanya menyimpan variabel primitif lokal dan variable referensi. Stack sangat cepat , akan tapi kurang dalam segi ukuran , dibandingkan dengan memori heap.
Apa itu fungsi Heap ?
Heap yaitu bab dari memori ,yang dipakai untuk pengalokasian memori secara dinamis. Serta untuk mengalamatkan memorinya , akan dimulai , ketika runtime(program berjalan). Karena dialokasikan secara dinamis , sehingga lokasi memorinya tidak mempunyai pola , atau sanggup disebut acak. Kapanpun kita menciptakan suatu objek , akan selalu otomatis dibentuk , dan ditempatkan di dalam memori heap.
Sedangkan untuk variable tumpuan dari objek, akan ditempatkan di dalam memori stack. Setiap objek yang dibentuk di dalam heap ,akan mempunyai terusan global ,dan sanggup direferensikan , dimana saja dari suatu progam aplikasi.
Contoh Code :
Contoh Code |
Ketika kita mencoba menjalankan pola code agenda di atas , kira-kira visualisasi atau ilustrasinya , akan menjadi menyerupai pada gambar di bawah:
Contoh gambaran memori stack vs heap |
Penjelasan :
Seperti yang kalian lihat pada pola gambar gambaran di atas, yang menggambarkan wacana proses alokasi memori stack dan heap , ketika agenda java berjalan di komputer.
Pertama-tama , pada baris code int x = 15 dan int y = 30 ,yang merupakan variable tipe data primitif. Akan disimpan ke dalam memori stack.
Sedangkan untuk variable tumpuan a dan b , akan disimpan ke memori stack , dan untuk objeknya akan disimpan ke memori heap.
Selanjutnya, untuk text ,yang merupakan tipe data String, nilai atau valuenya akan disimpan di string pool , di dalam memori heap.
Baca juga : Perbedaan Tipe Data Primitif dan Referensi di Program Java
Perbedaan Antara Memori Stack dan Heap :
- Tipe data primitif , dan tumpuan untuk objek , akan disimpan ke dalam memori stack
- Setiap objek akan mengambil space di dalam memori heap
- Memori stack kurang dari memori heap
- Memori stack berisi variable lokal untuk sebuah agenda aplikasi. Memori heap berisi objek yang di terusan secara global di dalam sebuah agenda aplikasi
- Dalam perkara cara kerja memori stack, ketika variable dihapus , maka ruang memori bebas akan disediakan untuk variabel lain , sesudah code terakhir dieksekusi.
- Dalam perkara kerja memori heap , bila ada tumpuan yang mengacu ke objek , maka objek itu akan mempertahankan space atau ruang di memori heap. Sedangkan , ketika objek tidak mempunyai tumpuan yang tersedia , maka objek yang dimaksud akan mati, dan garbage collector akan menghapus objek itu dari memeori heap , untuk mempertahankan ruang ,yang disediakan untuk objek lain
Belum ada Komentar untuk "Belajar Mengenal Perbedaan Alokasi Memori Stack Vs Heap Di Java"
Posting Komentar