Kategoriler: Yazılım Geliştirme

String vs StringBuilder Farkı Nedir ?

İşin açıkçası bu güne kadar StringBuilder sınııfını üniversite ikinci sınıfta Java programlama dili ile kullandım. O günden sonra hep string sınıfını kullandım. Tüm işlemlerimi string ile yapabiliyorum neden 7 harf fazladan yazayım ki dedim. String vs StringBuilder farkı ne olabilir ki dedim ve hiç araştırmadım. Aradaki farkı öğrenince keşke zamanında araştırsaymışım dedim.

String vs StringBuilder Farkı Performansı Etkiliyor

Ben dahil olmak üzere bir çok yazılım geliştiricisi text tipi değişkenlerde string sınıfını kullanıyor. Tabi ki kullandığı programlama dili bu sınıfı destekliyor ise… C gibi ilkel ya da desteklemeyen başka dili kullanan yazılım geliştiricilerine sabır diliyorum.

Konumuza gelecek olursak, sayın yazılım geliştiricileri lütfen her text tipi değişkeni string olarak tanımlamayın. Bu benim de bu güne kadar yapmış olduğum büyük bir hataydı. Bu hatayı yapmaktan kaçının. Yazmış olduğunuz programların büyüklüğü nedir bilemiyorum ancak büyük programlarda bu kaçınmanız size büyük performans artışı sağlayacaktır.

Mutable ve immutable olarak değişkenleri ikiye ayırabiliriz. Türkçe konuşacak olursak değişkenleri değişken ve sabit olarak ikiye ayırabiliriz. İlk duyduğunuzda saçmalama diyeceğiniz cümleyi söylüyorum. String tipi değişkenler sabit değişkenlerdir. Birader sen ne diyor ben string tipinde bir değişken tanımlıyorum ardından bu değişkenin değerini değiştirebiliyorum diyebilirsiniz. Evet, yapabiliyorsunuz en azından yapabildiğinizi sanıyorsunuz.

String değişkeni oluşturdunuz ve ilerleyen satırlarda bu değişkene yeni bir değer atadınız. Evet bu değişkenin değeri değişecektir ancak değişim sıralaması şu şekilde olacaktır:

  • Yeni bir string objesi oluşturulacak,
  • Yeni olan string objesine yeni değer atanacak,
  • Eski string değişkeni bu objeyi point edecektir.

Kısaca değişkenin değerini değiştirmiyor yeni bir değer oluşturup onu gösteriyorsunuz. Halbuki stringbuilderda bildiğiniz int ve ya floatta olduğu gibi değer direk değişmektedir.

Büyük projelerde string vs stringbuilder farkı dolayısı ile performans kaybı yaşayacağınız aşikardır.

KAYNAK

Son Yazılar

Apple Tarafından Beklenen Tablet 2023 iPad Ultra Geliyor mu?

2022 yılı içerisinde Apple yenilenen iPad modellerini karşımıza çıkarttı. Ancak hepimizin beklediği iPad modeli 2022… Daha fazla oku

2 gün önce

2 Yeni Dolandırıcılık Sistemi ve iCloud Kilidi Nedir ?

Günümüz şartlarında neredeyse her Apple ürünü iCloud Etkinleştirme kilidi özelliğine sahiptir. Bu kilit bir çok… Daha fazla oku

4 gün önce

iCloud Öncesi Kullanılan Şu Anda Unutulanlar Apple Servisleri

Apple sattığı cihazlardan para kazandığı kadar servisleri ile de para kazanan bir firma olmuştur. Son… Daha fazla oku

5 gün önce

Elmadan Haberler 3 – iPhone SE 4 İptal Edildi – Üretim Vietnam’da

Elmadan haberler 3 içerisindeki gündem şu şekildedir: Apple TV Android Akıllı Cep Telefonu ve Tabletlere… Daha fazla oku

6 gün önce

iPhone Güncelleme Sonrası Pil Sağlığı Neden Düşer ?

iPhone Güncelleme sonrası pil sağlığı neden düşer son derece fazla aldığım diğer bir sorudur. Bu… Daha fazla oku

1 hafta önce

iPhone iOS 16.2 İpuçları – Programsız Video İndirme ve Dahası

Bilinçli iPhone Kullanıcısı video serisi kapsamında iPhone iOS 16.2 ipuçları bu yazıda ele alacağım bir… Daha fazla oku

2 hafta önce

Bu web site kullanıcı deneyimini arttırmak amacı ile çerezleri kullanmaktadır