我使用JNI在c ++应用程序中调用java代码
对于exucuting java代码它采取10GB,在c ++中执行函数(在一边调用java代码)后,它没有释放内存,但如果我关闭应用程序然后释放内存,请你帮我解决这个问题< / p>
答案 0 :(得分:0)
JVM在启动时分配虚拟内存,用于堆等,并且通常在停止之前不会释放它。这样做是因为堆是托管内存,JVM希望它能够管理它。这对于长时间运行的进程最有效,但对于点解决方案来说效果不如你所知。
如果您将JVM作为单独的进程运行,它将按预期运行。