SORU
18 EKİM 2008, CUMARTESİ


Bir StackOverflowError nedir?

- Neden? - StackOverflowError,, ne olduğunu ve nasıl onlarla başa çıkmak gerekir?

CEVAP
18 EKİM 2008, CUMARTESİ


Parametreler ve yerel değişkenler stack (yığın nesne ve nesne bir değişken başvuruları yaşıyor referans türleri ile ayrılır. Yığın genellikle adresinizi üst ucunda yaşıyor tura kadar kullanılan ve adresi ALT BOŞLUK (sıfıra doğru yani doğru mekan.

Senin süreç de süreç alt ucunda yaşayan bir yığın vardır. Bellek olarak bu yığın adres alanı üst sonuna doğru büyüyebilir. Gördüğünüz gibi, öbek potansiyeli "" yığın (tektonik plakalar gibi biraz!!!). çarpışmak yok

Bir ortak nedeni taşması kötü bir özyinelemeli çağrı yığını. Genellikle bu özyinelemeli fonksiyonları doğru sonlandırma durumu yok ortaya çıkar, sonsuza kadar kendisini aradığını biter. Ancak, GUI programlama ile olası dolaylı özyineleme oluşturmak için. Örneğin, uygulamanızın boya iletileri işleme ve sisteme başka bir boya ileti göndermek için neden olan bir işlev çağrısı olabilir işlem yaparken olabilir. Burada açıkça kendini denilen değil, ama OS/VM senin için yaptı.

Onlarla başa çıkmak için kod incelemek gerekir. Eğer kendilerini çağıran fonksiyonlar var, o zaman sonlandırıcı bir sorunun var olmadığını kontrol edin. Eğer bağımsız en az bir değiştirilmiş işlevi çağrılırken bir daha kontrol edin, aksi takdirde yinelemeli olarak gözle görülür bir değişiklik fonksiyonu olacak hayır ve bitiş kriterinin bir işe yaramaz.

Eğer belirgin bir özyinelemeli varsa görev de dolaylı bir işlev olarak bilinir neden olacak herhangi bir kütüphane fonksiyonları (örtülü durumda yukarıdaki gibi) diyorsun.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • A Alkhaldi

    A Alkhaldi

    12 Mayıs 2007
  • Matt Steffanina

    Matt Steffan

    1 EYLÜL 2011
  • WOSU Public Media

    WOSU Public

    23 AĞUSTOS 2007