我想从Java中以编程方式确定堆栈的最大大小(-Xss设置的大小)。我该怎么做?
或者,由于我的Java模块也使用本机代码模块,我可以通过JNI执行此操作;但是如何?
答案 0 :(得分:4)
使用ManagementFactory.getRuntimeMXBean().getInputArguments()
访问传递给VM的所有参数。
答案 1 :(得分:0)
也许不是最佳实践,但肯定是直截了当的:我会编写一个递归方法来计算一个值,重复出现直到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);
}
}