27.06.2023
2
Like
513
Views
Herkese merhaba, Konumuza geçmeden önce Java'daki veri tiplerinden bahsedelim.
Java öncelikle üç çeşit veri tipine barındırır
Gelin bu veri tiplerine sırasıyla göz atalım.
Primiteve(ilkel) veri tipi
Java primiteve dediğimiz ver tipine ayrıcalık tanır, bu veri tiplerini kullanırken onlara ait nesneler yaratmaksızın kullanabiliriz. Bu bize hem kolaylık hem de zamandan tasarruf sağlar. Belleğin stack dediğimiz alanda tutulur.
Peki primiteve tipleri nelerdir ?
Reference(referans) Veri Tipi
Referans tiplerin, ilkel tiplerden en büyük farkı yapılan işlemler değişkenin kendisi ile yapılır. Referans veri tiplerinde değişkenlerin adresleri tutulur. Tanımlamak için new
anahtar sözcüğü kullanılır. referans tipler belleğin heap alanında tutulurlar.
Peki Reference Veri Tipleri Nelerdir ?
Null Veri Tipi ?
Herhangi bir veriye sahip olmama durumudur.
Ver tiplerimizi gördüğümüze göre Gelin bunların ayrımından bahsedelim.
Yukarıdaki görsel de baktığımız zaman sayi1 e sayi2 nin atandığını görüyorsunuz. sayi2'nin değeri değiştiği halde sayi1'in değerinin değişmediği sonucu elde ediyoruz bunun sebebi primiteve dediğimiz veri tiplerinin stack dediğimiz alanda tutulmasıdır. Burada her değişen için farklı bellek adresleri tutulur. Ve değişkenler birbirinden bağımsızdır.
Yukarıdaki örneğe baktığımız zaman ise sayilar1 dizisinin 0. indeksinin değiştini görüyoruz bunun nedenini gelin aşağıdaki görselde açıklayalım.
İlk başta dediğimiz gibi stack ve heap adında iki adet bellek türümüz vardı.
Referans tipler(Array, interface, class) new anahtar kelimesine ihtiyaç duyarlar. New kelimesi kullandıktan sonra heap verilerimiz saklanmaya başlanır. değişken isimleri ise şekildeki gibi stack ta verilerinin bellek adreslerini tutarlar. sayilar1= sayilar2 dediğimizde artık sayilar1 de
sayilar2 nin adresini(102) referans tutar. sayilar2[0]=100 dediğimizde 102 nolu bellekte 0. indis 100 olur. Sayilar1 de 102 adresini tuttuğu için onunda 0. elemanı 100 çıkar.
Artık Kullanmadığımız heap 101 adlı alanımız ise Java'nın otomatik çöp toplayıcısı (Garbage Collector) tarafından temizlenir. Bu ilkeden yararlanarak OOP tabanlı işlemler yapabiliriz. bu yazımız bu kadardı bir sonraki makalede görüşmek üzere.
You need to log in to be able to comment!
Salih Atmacalar
Hello! I am a final-year student in the Computer Engineering department at Kastamonu University, named Ben Salih Atmacalar. I have developed projects in the field of web and I want to progress further. I am well-versed in Object-Oriented Programming (OOP) principles and have a keen interest in various technologies.
Location
Tekirdağ, TR
Education
Computer engineer - Kastamonu Üniversitesi
Job Experience
Web developer - TNKÜ