İPUCU

Java Object Oriented Programming temeline dayanan, çok işlevli, step by step işleyen dilin dökümanlarının paylaşım alanı.

Seçenekler

Javada Stack.

16-08-2017 23:07
#1
ALcatraz' - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2013
Nereden:
İstanbul
Mesajlar:
4.265
Teşekkür (Etti):
968
Teşekkür (Aldı):
1753
Konular:
1022
Ticaret:
(0) %
Selamun aleyküm.

Javada Stack Memory.
Stack bir veri yapısıdır, her defasında son kaydedilen dataya erişmemizi sağlayan. Bu çalışma prensibine LIFO prinzip ( Last in First out ) olarak anılır. Bir oyun olan Legodan bakalım Stackimize. Her parçayı üst üste koyuyoruz ve bu parçaların hepsi Stack'e kaydediliyor.



Mesela inşaa ettiğimiz bir legonun üstüne başka bir parça koyup bunu büyültebiliriz, bu operasyonun adına Push denir. Veyahut bir taş eksilterek bunu küçültebiliriz bu operasyonun adı Pop'dur.

Ama unutmamamız gerekir, sadece en üstteki taş ile çalışabiliriz çünkü öbür taşlar ile erişimimiz yok.

Stack Uygulama Alanları.

Şimdi düşünelim, şu an bulunduğunuz browserin geri tuşu nasıl çalışıyor?

Thtye girdik ama ilk girdiğimiz siteye geri dönmek istiyoryz yani şöyle.

Google, THT, Konu.

Şimdi geri Google'a dönmek istiyoruz napıcaz 2 kere geri tuşuna basıcaz. Ve sonra Google'dayız ama browser bizim hangi sitede olduğumuzu nerden biliyor?

Evvveet doğru bildiniz Stackde ki veriler ile, Bellek yığını'nı unutmamak lazım. Her siteden çıktığımızda Pop işlemi ile son veri çıkartılıyor.

Şimdi Google'a girdik Stack durumunuz;

Kod:
1.Sayfa
THT'ye girdik Stack durumumuz;

Kod:
2.Sayfa
1.Sayfa
Konuma girdik Stack durumumuz;

Kod:
3.Sayfa
2.Sayfa
1.Sayfa
Push işlemi ile Taban değere ekliyoruz.

Şimdi Google'a dönmek istediğimiz de Pop işlemi uygulayışını görelim,Konumdayken Geri tuşuna bastık THTdeyiz Stack durumumuz;

Kod:
2.Sayfa
1.Sayfa
Farkındaysanız en taban değeri atıyoruz. Bir geri daha Google'dayız Stack durumu;

Kod:
1.Sayfa
Bir geriye bastığımızda Stackde değer olmadığı için Exit() komutunu algılar.

Bağlı listelerde Stack.

Stack oluşturmak için nelere ihtiyaç duyarız?

Ne kadar çok Veri Taşıyıcı (Data Container) oluşturursak, Stack'imiz o kadar büyük olur. En üstteki DC'ye ve altındaki DC'lere erişimimiz olmalı. Şimdi en üstteki değeri referans alabileceğimiz bir değisken tanımlayalım.

İşimizi kolaylaştırmak için en yüksek adlı bir değisken tanımlayalım Bellek yığınındaki değerleri sayabilmek icin.

Kod:
public class StackBellek { 
	private final static int MAX_DEGER = 10; 
	private Parcalar tabanParca = null; 
	private int yukseklik = 0; 
}
2.Satırda static MAX_DEGER tanımladık ve 10 değerini atadık. Şimdilik 10'u geçmesin diye.
3.Satırda Parcalar adlı keyworde tabanParca ekledik null değerini atadık. Stack işleminde tabandaki elementi belleğe kaydetmek için.
4.satırdaki yukseklik değiskeninin görevi bütün ilerlemeleri Stack'e kaydetmek. Bu değiskeni Push ile arttırmalı, Pop ile azaltmalıyız.

Şimdilik bu kadar, bir daha ki makalemde Push methodunu anlatacağım. Allaha emanet, ne kadar sürçi lisan ettiysek affola.
Kullanıcı İmzası
En çok ne zoruma gidiyor biliyor musun? "Ülkem" diye kaydetmiştin beni telefonuna. Kalbimi parçalara ayırdın, hani vatan bölünmezdi?

Yokluğun bilinç altımdayken , varlığın kimin altında merak ediyorum.
b0mb Teşekkür etti.

17-08-2017 00:20
#2
ihan3t - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
02/2012
Mesajlar:
5.005
Teşekkür (Etti):
291
Teşekkür (Aldı):
1824
Konular:
255
Ticaret:
(0) %
Eğer memory üzerinden bahsediyorsak, stack üzerinde hangi değişkenlerin saklandığını da söylemek gerekir bence..

Difference between Stack and Heap memory in Java

Kullanıcı İmzası
Computer Engineer.

Senior Software Engineer.
17-08-2017 10:34
#3
ALcatraz' - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2013
Nereden:
İstanbul
Mesajlar:
4.265
Teşekkür (Etti):
968
Teşekkür (Aldı):
1753
Konular:
1022
Ticaret:
(0) %
Alıntı:
ihan3t´isimli üyeden Alıntı Mesajı göster
Eğer memory üzerinden bahsediyorsak, stack üzerinde hangi değişkenlerin saklandığını da söylemek gerekir bence..

Difference between Stack and Heap memory in Java

Eksikler elbet olacak,çabalıyoruz olmamasi için
Kullanıcı İmzası
En çok ne zoruma gidiyor biliyor musun? "Ülkem" diye kaydetmiştin beni telefonuna. Kalbimi parçalara ayırdın, hani vatan bölünmezdi?

Yokluğun bilinç altımdayken , varlığın kimin altında merak ediyorum.
01-11-2017 23:49
#4
b0mb - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2017
Nereden:
İzmir
Yaş:
17
Mesajlar:
471
Teşekkür (Etti):
143
Teşekkür (Aldı):
219
Konular:
64
Ticaret:
(0) %
Ellerine sağlık abi, devamını bekliyorum

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı