Komunikaty StackOverflowError oraz OutOfMemory

0

Do pisania kodu w Javie wykorzystuję Eclipse.
Podpowie ktoś jak zwiększyć rozmiar stosu i ilość pamięci przydzielanej na program?

StackOverFlowError: wywala mi niekiedy na skutek stosowania pewnej rekurencyjnej funkcji (niestety nie wiadomo z góry ile razy będzie konieczność jej wywołania). Wolałbym uniknąć jej przerabiania, dlatego najprościej byłoby gdyby ktoś był tak dobry i powiedział jak mogę zwiększyć rozmiar stosu, no i

OutOfMemory: w momencie próby stworzenia dużej liczby obiektów (dokładniej paneli). Czy mógłbym mieć ich 100 000? Jak zwiększyć rozmiar pamięci? Gdzie są granice?

P.S. czytałem coś, że należy ustawić odpowiednio jakiś parametr -Xmx czy Xms, ale nie wiem dokładnie o co chodzi i jak to zrobić.

Proszę o wyrozumiałość jeśli zadałem "dziwne/śmieszne" pytanie.

0

To ta Twoja funkcja chyba wymaga jednak przepisania, skoro aż stos się zapełnia...
Anyway, jeśli jesteś na to zbyt leniwy...
Dla wszystkich wątków w JVM
-Xss666666k
jako parametr rozruchowy

lub dla jednego konkretnego wątku...
new Thread(null, runnable, "nazwa", 666666);
Nie wiem czy to zawsze działa, ponoć nie musi.... Sprawdzałem na łindołsie iks pe i działa.

0

Wpisz w konsoli java -X, to się dowiesz o co chodzi z tymi parametrami. W Eclipse Run => Run configuration => zakładka (x)=Arguments => VM arguments.

1 użytkowników online, w tym zalogowanych: 0, gości: 1