如何确定最大堆栈大小限制?
我想从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?