调用JNI中遇到堆栈溢出

Java中使用了C++的本地代码,遇到了下面问题
An unrecoverable stack overflow has occurred.

检查了一下,由于CPP代码中使用了递归方法,导致栈过深,导致堆栈溢出
我们可以通过对JVM参数调整,解决这个问题
用 -Xss 指定的本机堆栈(native stack),比如指定 -Xss2M,这是针对每个线程分配的,并且不基于具体的使用情况,因此如果计划运行一百个线程,则要在指定 -Xss2m 前慎重考虑;它将消耗 200 MB 的本机内存,每个线程消耗 2 MB。

你可能感兴趣的:(jvm,C++,c,jni,C#)