1

JNIを使​​用してdllを使用するJavaアプリケーションを開発しています。

dll はまだ開発中なので、メモリに問題があると思います。

Eclipse の [実行] ダイアログを使用してアプリケーションを実行すると、アプリケーションが非常に不安定になり、クラッシュする可能性が非常に高くなります。Eclipse の外部で同じアプリケーションを起動すると、アプリケーションはより安定して動作します。クラッシュはまだありますが、大幅に減少しています。

さらに 2 つの質問があります。

アプリケーションをデバッグとして実行した場合の違いは何ですか?

dll が割り当てるメモリは、仮想マシンのメモリではありません。そのため、仮想マシンのメモリに影響を与えるパラメータ (-Xmx など) は、dll のメモリ割り当てには影響しません。この記述は正しいですか?

ご回答ありがとうございます

4

2 に答える 2

1

これはあなたの質問への完全な回答ではありませんが、Java からネイティブ コードを実行するときに発生した問題に似ているように思えます。

アプリを 1 つの方法で実行する方が安定しているように見える場合は、システムに複数の JVM がインストールされており、Eclipse がコマンド ラインから使用されるものとは異なるものを使用している可能性があります。

于 2012-09-11T07:32:26.340 に答える
0

「不安定」について詳しく教えてください。どのような種類のエラーが表示されますか?

codebox で示唆されているように、実行中の JVM と同じバージョンであることも確認します。

これを行うには、起動時に JRE 情報を出力します。

System.out.println("Vendor: " + System.getProperty("java.vendor") + ", Version: " + System.getProperty("java.version"));

Eclipse で JRE バージョンを変更するには、[ウィンドウ] -> [設定] -> [Java] -> [インストール済みの JRE] に移動します。

于 2012-09-11T07:56:15.500 に答える