Geliştirme yaparken hiç düşündünüz mü ? Verilerimiz örneklediğimiz değişkenler tam olarak nerede tutuluyor.Bu sorunun cevabı çokta zor değil hemen aklımıza ram,hard disk gelebilir doğru ama bunlarında içinde nerede tutulduğuna bakalım.
Örnek vermek gerekirse bir nesne örneklemek istediğimizde new anahtar sözcüğünü kullanıyoruz.Biz örnekleme işlemini yapar yapmaz bilgisayarımızın ram belleğindeki heap alanında tutulmaya başlar.
Heap alanı bir referans istemeyen yani bellekte ne kadar yer kaplanacağı belli edilmeden adreslenebilen bir depolama alanıdır.Büyük bir rahatlık getirir.Bu rahatlığın getirdiği bazı olumsuzluklar var,en önemlisi stack alanına göre daha yavaş olması.Heap alanında nesnelerin birebir aynısı durur.
Stack alanına yazılan veriler,bellekte tutulur.Bu alanın stack pointer adında bir adresleyicisi bulunur direk işlemci üzerinde donanımsal bir destekle bu görevi gerçekleştirir.Bu stack pointer adres işaretlemsi yaparken yukarı aşağı iner çıkar,yukarı çıktığında alan açar aşağı indiğinde alanı serbest bırakır.Java derleyicisi stack adreslemesi yaparken program açılmadan önce oluşturulacak verilerin uzunluklarını ve ömürlerini bilmesi gereklidir.Bu tür durumda verinin kendisi değil referansı bulunur.
Statik alan,ram üzerinde tutulur.statik alanda tutulan verilen program sonlandırılana kadar bırakılmaz.Programcı silmediği müddetçe olduğu yerde durur.Nesnelerin kendileri alanda yer almaz.Bir değişkeni static yapabilmek için global değişkenin önüne static anahtar sözcüğünü yazmamız gereklidir.
Hard disk alanı,program kapansa bilgisayar kapansa bile verinin kalması gerektiği durumlarda veriler direk harddiske yazdırılır.
This entry was posted in Android, Java and tagged Java Veriler, Veri Alanları, Veriler Nasıl Tutulur. Bookmark the permalink.
← Sınıf ve Nesne Kavramları Hakkında
Javada Yapılandırıcı Metodlar (Constructor) →