• bazi dillerde (c, c++) sonunda null yer alir, dil string degi$keni null gorene kadar okur; bazi dilerde (delphi) ilk adrese uzunluk yazilir, o uzunluk kadar okunur. bazi diller icin (visual basic) value type'tır, bazilari (c++) reference type olarak ele alir. bazi diller 255 karaktere kadar sinir getirir, bazilari teoride bellek dolana kadar kullanabilrsiniz der. ekranda bize bir $eyler anlatan her$eyi, mesela ek$i sozluk entry'lerini icinde tutan $eydir. (gerci bilmiyorum ssg onlari blob da yapmi$ olabilir. ama ozunde neredeyse ayni $ey.)
  • java icin konusursak bir iki tane degil de, cok sayida + operatoru kullanilacak, yani string ekleme isi yapilacaksa kesinlikle + yerine stringbuffer ve append() methodu kullanilmalidir. zira + operatoru her kullanilisinda yeniden object yaratir ve performansi bu yuzden cok dusuktur.
  • java için konuşursak, string nesnesindeki bir metnin her karakteri en az 2 byte yer kaplıyormuş. utf8 ve extended bir char olursa bu miktar artacaktır. ayrıca string, bir nesne olduğu için barındırması gereken bir miktar daha fazladan alan var. garbage collectiona kadar da stringler memoryde tutulacağı için, string kullanırken dikkat etmek gerekiyor.

    şöyle bir kıyas yapmak gerekirse; telefon numaranızı "905324440532" nesnede tutacaksınız diyelim;
    long phonel = 905324440532; // 8 byte yer kaplar.
    string phones = "905324440532"; // 72 byte yer kaplar.

    birkaç işlem için bu kadar düşük sayıların anlamı yok, ama saniyede birkaç milyon tane işlem yapmak durumunda olan bir uygulama yazıyorsanız, değil byteları hesaplamak, bitwise operation bile yapmanız gerekebilir.

    canım sıkıldı, biraz araştırma yapayım dedim. detaylar burada;
    http://www.javamex.com/…y/string_memory_usage.shtml
  • programlama dillerinin cogunda "harfler obegi" anlamina gelen terim.
  • ingilizce tel..
  • bir protein veritabanidir. proteinleri fiziksel ve fonksiyonsal ozelliklerine gore arayip bulabilirsiniz.
    http://string-db.org/
  • java dilinde string immutable yani degismez bir yapida bir objedir. bu ozelligi nedeniyle her string isleminde yeni obje olusturulur, bu diger java objelerinden farkli bir davranisa neden olur.

    ornegin normal bir java objesi yaratalim, once obje icin basit bir class yazalim.
    class normalobje {
    public string s;
    }

    daha sonra bir tane referans yaratalim. bu referans yeni yaratilmis objeyi gostersin. objenin degerini de "elma" olarak degistirelim.

    normalobje referans1 = new normalobje();
    referans1.s = "elma";

    bir sonraki asamada ikinci bir referans yaratalim ama bu ikinci referans da ayni objeyi gostersin. ve bu ikinci referans vasitasi ile objenin degerini "armut" olarak degistirelim.

    normalobje referans2 = referans1;
    referans2.s = "armut";

    simdi bu iki degeri cikti aldigimizda;
    system.out.println(referans1.s + " ve " + referans2.s);

    bize "armut ve armut" diye yazi donecektir. cunku iki referans tek objeyi gosteriyor ve birinci refeans ile objeye "elma" degerini yazdik, ikinci referans ile bu "elma" degerini silip uzerine "armut" yazdik. objemiz "armut" oldu ve iki referans ile bunu ekrana bastigimizda iki kere armut yazmis olur.

    peki asil konumuz string icin ayni isi yaparsak ne olur. s1 dedigimiz birinci referans ile string objesine "elma" yazdik. biraz once yaptigimiz gibi s2 referansina s1 referansini da atadik. sonra s2 refeansinin gosterdigi objeyi "armut" olarak degistirdik.

    string s1 = "elma";
    string s2 = s1;
    s2="armut";

    simdi bu iki degeri cikti aldigimizda;
    system.out.println(s1 +" ve "+ s2 );

    bize "elma ve armut" donecektir. peki bu fark neden olustu. basta da dedgim gibi string immutable yani degismez objedir. bu "string s2 = s1" kod satirinda s1 referansini s2 referansina kopyaladi. ama bu satirda s2="armut" s2 vasitasi ile icinde "elma" yazan objeyi degistirmek yerine, bu obje immutable yani degistirilemez oldugu icin ikinci bir obje yaratti ve ikinci objeye "armut" degerini atadi, sonra s2 yi ikinci objeye bagladi. s1 birinci yani icinde "elma" yazan objeyi gosterirken s2 ikinci yani icinde "armut" yazan objeyi gosterir oldu.

    ozetle birinci ornekte iki referans ve bir objemiz var iken, ikinci string orneginde iki referans iki obje yaratmis olduk. string objeleri degistirilemez oldugundan uzerlerinde yaptigimiz her islem yeni bir string objesi yaratir. bu temel java davranisi is gorusmeleri ve sinavlarin populer sorusudur. javanin obje ve referans davranisini anlamak icin de guzel bir ornektir.
  • keşke hayatta her şey integer olsaydı.
    hatta sadece 1 ve 0. var ya da yok. evet ya da hayır.
    ama değil maalesef..

    --- spoiler ---

    valueerror: could not convert string to float
    --- spoiler ---
  • ing. tel, gitar teli vs/
  • güneş enerjisi santrallerinde birbirine seri bağlı panel gruplarını ifade eder. türkçe'de dizi olarak ifade edilir.
hesabın var mı? giriş yap