如何确定最大堆栈大小限制?

我想从Java内部以编程方式确定堆栈的最大大小(由-Xss设置的大小)。 我该怎么做呢?

或者,因为我的Java模块也使用本地代码模块,所以我可以通过JNI来完成此操作; 但是如何?


使用ManagementFactory.getRuntimeMXBean().getInputArguments()来访问传递给VM的所有参数。


也许不是最佳实践,但肯定是直截了当的:我会写一个递归方法计算一个值,直到java.lang.StackOverflowError重复并查看计数器。

public class Test
{

static void recur(AtomicInteger start)
{
    start.incrementAndGet();
    recur(start);
}

public static void main(String[] args) throws ParseException
{
    AtomicInteger start=new AtomicInteger(0);
    try
    {
        recur(start);
    }
    catch (java.lang.StackOverflowError e)
    {
        /**/
    }
    System.out.println(start);

}
}
链接地址: http://www.djcxy.com/p/54843.html

上一篇: How to determine the maximum stack size limit?

下一篇: Are scheduled UILocalNotifications part of iOS device backup?