-4

JNI を使用して C++ アプリケーションで Java コードを呼び出しています

Javaコードを実行するために、C ++で関数(Javaコードを呼び出している側)を実行した後、10GBかかりますが、メモリを解放しませんが、アプリケーションを閉じるとメモリが解放されます。

4

1 に答える 1

0

JVM は起動時に仮想メモリを割り当てます。これはヒープなどに使用され、通常は停止するまで解放されません。これは、ヒープが管理されたメモリであり、JVM がその方法で管理することを期待しているためです。これは、長時間実行されるプロセスには最適ですが、ポイント ソリューションにはうまく機能しません。

JVM を別のプロセスとして実行すると、期待どおりに動作します。

于 2012-12-13T11:46:15.547 に答える