# STackgrösse bestimmen



## apio (10. Jul 2011)

Hi Leute

kann man in Java zur Laufzeit die größe des Stack abfragen ?

Weiß jemand eine Quelle wo ich finde, wieviel Speicher die Java VM im Speicher benutzt ? 

Ich will berechnen, wie viel Stack Speicher mein Prog belegt und ab welcher Feldgröße, Op Anzahl o.ä. es nen Stackoverf. gibt.


----------



## Firephoenix (10. Jul 2011)

Hi,
den Speicher kannst du per JVM-Parameter beim starten des Programms bestimmen, das ist aber eher ein Pflaster und eigentlich keine Lösung.
Besser ist es wenn man den Stack abschießt die entsprechende Stelle zu finden und zu verbessern.
z.B. könnte man rekursive Codeteile in Iterative umschreiben oder die Art der rekursiven Aufrufe so ändern, dass die rekursion nicht mehr so tief geht.
Gruß


----------



## apio (10. Jul 2011)

Hi

ja ok das is klar aber ich will ja ausrechnen oder auch recht genau abschätzen können, wann der Stack voll sein wird. 
Ich habe bis jetzt ka wie die VM das intern macht, bzw. wie viel Overhead sie zu den Daten und operarionen produziert.

Ne Methode in der Art Stack.getSize() die man zur Laufzeit aufrufen wird es nicht geben denk ich mal.


----------



## Gastredner (10. Jul 2011)

Ich bin nicht 100%ig sicher, aber ich denke nicht, dass sich diese Information (Größe des Stacks) ermitteln lassen wird.


----------



## KrokoDiehl (11. Jul 2011)

Schau mal hier, ich glaube das ist es, was du brauchst.


----------



## Gastredner (11. Jul 2011)

Er sucht die Stackgröße, nicht die des Heaps.


----------

