7. Java ArrayList, Stack MEMORY, Heap SPACE, String POOL

preview_player
Показать описание
Java ArrayList ve değişkenlerin hafızada tutulma yapısı

Bu videoda ilk olarak Java arrayin yerine kullanabileceğimiz ve yaratırken kapasite vermemiz gerekmeyen ArrayList’leri inceleyeceğiz. Bu esnada, wrapper class ve method overloading kavramlarına bakacağız. ArrayList’i sayı tahmin oyununa uyguladıktan sonra Java’da değişkenlerin hafızada nasıl tutulduğuna bakacağız. String’in memory yapısını daha detaylı incelemek için String Pool yapısını ve neden stringleri kıyaslarken equals kullandığımızı anlatacağım. Videoda anlattıklarımı aşağıya yazıyorum. Anlatılan bilgilerin bir arada olduğu referans kağıdını indirmek isterseniz yukarıda bağlantısını bulabilirsiniz. Sonraki videolarda görüşmek üzere!

00:00 ArrayList
02:53 Wrapper Class
03:27 Oyunu ArrayList'e değiştirme
06:02 Stack Memory - Heap Space
09:39 String Pool
11:24 .equals

ArrayList’ler arrayler gibi bir grup değeri tutmayı sağlıyor. ArrayList’lerde arrayler gibi initialize ederken bir kapasite vermek gerekmiyor. Bir ArrayList aşağıdaki şekilde tanımlanabilir:
ArrayList<String> shoppingList = new ArrayList<String>();

Sıkça kullandıklarımızdan bir kaçı şu şekilde:

Method overloading farklı parametreler ile aynı isimdeki methodun farklı versiyonlarını oluşturmak olarak tanımlanabilir.

Wrapper, sarıcı, saran anlamındadır. Wrapper classlar başka classların komponentlerini, fonksiyonelitelerini içinde barındırır. Örneğin int in wrapper classı Integer’dır, double’ınki Double’dır. Tanımlaması eşitleme kısa yolu ile yapılabilir.
Integer x = 5;

Javada değişkenler *stack memory* ve *heap space* denen iki hafızada tutuluyor.

* Primitive tipler stack memoryde tutuluyor
* Reference tipler heap spacede tutuluyor.
* Reference tiplerin sahip olduğu adres stack memoryde saklanıyor.

Java’da tırnak işareti içinde (“”) oluşturduğumuz String değerler, yani *string literal*’lar, performansın daha iyi olması heap space içinde yer alan *string pool*’da tutulur.

İki string değişkeni *== operatörü* ile kıyaslandığında, değişkenlerin stack içindeki değerleri kıyaslanır.
İki string değişkeni *.equals* ile kıyaslandığında, değişkenlerin sahip oldukları değerler kıyaslanır.
Рекомендации по теме
Комментарии
Автор

Benim icin cok faydaliydi tesekkürler.

omermahmutarabul