String pool nedir?
String, proglamlama dilinde kullanılan karakter dizisi nesneleridir.
Aşagıda gösterdiğim 2 şekilde de kullanabiliriz.Farklarını aşağıda anlatacağım.
1.)String name=”Yusuf Beştaş”;
2.)String name=new String(“Yusuf Beştaş”);
yukardaki örneği inceleyediğimizde string pool mantıgını rahatlıkça kavrayabiliriz.
s1 ve s2 bellekte ayırdıgı bölge aynı yeri işaret ediyor.Bundan dolayı bellekte büyük bir tasarruf etmiş oluyoruz.Yani aynı string’ten
kaç tane oluştursak oluşturalım eger yukardaki örnek 1. deki gibi oluşturucaksak bellekte kaydedileceği adres aynı olacaktır.Fakat oluşturacağımız iki aynı String aynı adreste saklamak istemezsek,
yukardaki gösterdiğim 2. örnekte ki gibi oluşturabiliriz.
new String ile aynı string olmasına ragmen bellekte tutacagı adres s4 oldugu gibi ayrı bir adres olacaktır.
Aşağıda bir kod blogu ile pekiştirelim.
public class StringPoolExample {
public static void main(String[] args) {
String name1="Yusuf";
String name2="Yusuf";
String name3=new String("Yusuf");
String name4=new String("Yusuf");
System.out.println(name1==name2);
System.out.println(name1==name3);
System.out.println(name3==name4);
}
}
Yukardaki kod blogunu incelediğimizde console sırasyla
true
false
false
bastıracaktır.
Bunun sebebide yukarda bahsettiğim gibi new String ile oluşturduklarımız, bellekte tutacağı adreslerin farklı olacağından dolayıdır.
Yakın zamanda paylaşacağım yazıların konu başlıklarını aşağıda paylaşıyorum.
1.Spring Boot içerisinde @Transactional kullanimi
2.Builder Desing Pattern
3.Flexbox kullaniminin FrontEnd developer için önemi
4.Single page application önemi ve frameworklerin karşılaştırılması
5.Javada Exception Yönetimi
6.Spring Aspect Oriented Programming(AOP) kavramı ve örnekler