SORU
20 Ocak 2010, ÇARŞAMBA


Java Dizi yığın veya yığın içinde depolanır?

eğer bu dizi gibi bir ifadesi var

int a[];

burada bir tamsayı türünde bir dizidir. Nerede tamsayı bu dizi yığın üzerinde depolanır ya da yığın?Bu primitve türü bir int, ilkel türleri yığın üzerinde depolanır.

CEVAP
20 Ocak 2010, ÇARŞAMBA


Gurukulki dediği gibi, yığın üzerinde depolanır. Ancak, yazınızı, iyi niyetli bazı kişi efsane yayılıyor muhtemelen nedeniyle yanlış anlaşma önerdi "ilkel hep yığında canlı". Bu doğru değildir.Yerel değişkenlerkendi değerleri yığını var, ama tüm ilkel yerel değişkenler

Örneğin, bu göz önünde bulundurun:

public class Foo
{
    int value;
}
...

public void someOtherMethod()
{
    Foo f = new Foo();
    ...
}

Şimdi, nerede f.value yaşar? Efsane yığında olduğunu gösteriyor - ama aslında Foo yeni nesne, öbek hayatımızın bir parçası1. (f kendi değerini bir kaynaktır ve üzerinde yaşayan yığını olduğunu unutmayın.)

Oradan, diziler için kolay bir adım. Sadece pek çok değişken olarak bir dizi düşünebilirsiniz - new int[3] Bu form bir sınıf olması gibi biraz.

public class ArrayInt3
{
    public readonly int length = 3;
    public int value0;
    public int value1;
    public int value2;
}

1Aslında, bu daha karışık bir durum. Yığın/yığın ayrım çoğunlukla bir uygulama ayrıntı - sanırım bazı Jvm'ler, muhtemelen deneysel olanlar, belli bir nesne asla "kaçar" bir yöntem ve tahsis tüm nesne yığını. Ancakkavramsal olarakeğer ilgilenmek isterseniz öbek üzerinde.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • campos9896

    campos9896

    24 Mart 2012
  • KIT KAT

    KIT KAT

    3 EKİM 2005
  • mist64

    mist64

    30 Mayıs 2006