大きなヒープ メモリ パラメータを指定して JNI_CreateJavaVM を呼び出してみて、それが失敗した場合は、代わりにデフォルトが使用されるように、ヒープ メモリ パラメータを省略してもう一度呼び出します。
最初の呼び出しで失敗すると、JNI_ENOMEM (メモリ不足) のリターン コードが返されます。
ただし、その後の JNI_CreateJavaVM の呼び出しはリターン コード -1 (JNI_ERR: 不明なエラー) で失敗するようです。
再試行する前に何らかのリセットを実行する必要がありますか? 言うまでもなく、その後の呼び出し自体は成功しています。
インターフェイスにアクセスする方法はこれらの言語で同一であるため、この C および C++ にタグを付けています。