THT DUYURU

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

takipci
Seçenekler

Javada Stack.

ALcatraz' - ait Kullanıcı Resmi (Avatar)
Tamamen Askıya Alındı
Üyelik tarihi:
05/2013
Nereden:
İstanbul
Mesajlar:
4.336
Konular:
1030
Teşekkür (Etti):
974
Teşekkür (Aldı):
1837
Ticaret:
(0) %
3
1088
16-08-2017 23:07
#1
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.
b0mb Teşekkür etti.
ihan3t - ait Kullanıcı Resmi (Avatar)
Geliştirici
Üyelik tarihi:
02/2012
Mesajlar:
5.017
Konular:
256
Teşekkür (Etti):
302
Teşekkür (Aldı):
1926
Ticaret:
(0) %
17-08-2017 00:20
#2
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

---------------------
Computer Engineer.

Senior Software Engineer.
ALcatraz' - ait Kullanıcı Resmi (Avatar)
Tamamen Askıya Alındı
Üyelik tarihi:
05/2013
Nereden:
İstanbul
Mesajlar:
4.336
Konular:
1030
Teşekkür (Etti):
974
Teşekkür (Aldı):
1837
Ticaret:
(0) %
17-08-2017 10:34
#3
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
b0mb - ait Kullanıcı Resmi (Avatar)
Geliştirici
Üyelik tarihi:
03/2017
Nereden:
İzmir
Yaş:
18
Mesajlar:
471
Konular:
64
Teşekkür (Etti):
143
Teşekkür (Aldı):
220
Ticaret:
(0) %
01-11-2017 23:49
#4
Ellerine sağlık abi, devamını bekliyorum

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler