SORU
24 Ocak 2010, Pazar


Artırmak için nasıl yığın taşma hatası - Java Eclipse yığın boyutu?

Eclipse Java ile yazdığım bir program çalıştırıyorum. Program çok büyük girişler için özyineleme çok derin bir düzeyde bulunuyor. Program geniş bir giriş verildiğinde ancak iyi çalışır küçük girişler için, aşağıdaki hatayı alıyorum:

Exception in thread "main" java.lang.StackOverflowError

Bu Java yığın boyutu ve, bunu nasıl yapabilirim Yani eğer Eclipse artırarak çözülebilir?

Güncelleme:

@Jon Skeet

Kod datastructure oluşturmak için bir ayrıştırma ağacı yinelemeli olarak takip ediyor. Bu yüzden, örneğin kod bazı işler ayrıştırma ağacında bir düğüm kullanarak yapacak ve düğümün iki çocuğu kendisini arayıp, sonuçları ağacı için genel sonuç vermek için birleştirerek.

Özyineleme toplam derinlik ayrıştırma ağacı büyüklüğüne bağlıdır ama kodu özyinelemeli çağrı sayısı 1000'ler içine aldığında başarısız görünüyor (daha büyük bir yığın olmadan).

Ayrıca kod küçük girişler için çalışır gibi bir hata nedeniyle başarısız değil oldukça eminim.

CEVAP
24 Ocak 2010, Pazar


AçıkYapılandırma Çalıştırınuygulamanız için (Yapılandırmaları Run/Çalıştır... o zaman uygulamalar için bak giriş 'Java').

argümanlarsekmesi metin kutusu vardırVm argümanlar, -Xss1m (veya maksimum yığın boyutu için büyük bir parametre girin. Varsayılan değer 512 kByte (GÜNEŞ 1.5 - eğer satıcılar ve sürümleri arasında değişir bilmiyorum İLGİLENİYORUZ).

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Murray Winiata

    Murray Winia

    2 ŞUBAT 2009
  • New Scientist

    New Scientis

    27 Kasım 2006
  • Nickcidious

    Nickcidious

    6 HAZİRAN 2011