2009-02-27 140 views
4

私はいくつかのプロジェクトを実行してjarファイルにパッケージ化しましたが、自分のjarファイルがIDEよりもはるかに遅く動作することに気付きました。非常に遅い実行可能なJarファイル

Eclipseを使用して自分のプログラムをコンパイルして実行します。 Eclipseでは、私はすべての作業をしています。プロジェクトを実行可能なJarとしてパッケージ化し、ダブルクリックして実行すると、すべてが動作します。しかし、私はアニメーションを持っているとき、プログラムはをゆっくりと実行します。 Eclipseでは30フレーム/秒ではなく、毎秒約2フレームの画像が得られます。アニメーションは非常に遅いです。

興味深いことに、私がコマンドプロンプト(java -jar MyCode.jar)から同じJarを実行すると、ラグが消えてプログラムが正常に動作します。

この問題の原因は現在わかりません。私のコンピュータはWindows Vistaを実行しています。私はJREとJDKの最新バージョンを使用しています。私のプログラムにはアニメーションが含まれています。

ありがとう

ソリューション: 私のコンピュータと使用された間違ったバージョンでJavaのいくつかの異なるバージョンがありました。

+0

明らかに、MicrosoftがあなたのJVMを揺さぶってしまった! – erickson

+0

私は通常、起動時にSystem.getProperties()(ソート済み)の完全なダンプを可能にするデバッグスイッチを持っています。これらの問題で多くの助けになります。 –

答えて

4

Windowsに付属するjava.exeのバージョンは非常に古いです。 .jar拡張機能とより最近のJVMとの関連付けを変更することで、大幅な改善が見られるはずです。

3

おそらく、ダブルクリックに「悪い」JVMバージョンが関連付けられている可能性があります。

私がやるべきことは、あなたのアプリが使っているインタプリタが何であるかを見るためにSysInternalsのprocessxpを使うことです。おそらくコマンドラインと日食と同じものを使うように変更するだけです。

確認することをして、両方が同じJVM使用するかどうかを確認

私はこのことができます願っています(ProcessXPの列名のコマンドラインがありますが、その値を比較)。

4

実行中のウイルス対策ソフトウェアがパフォーマンスに影響を与えるかどうかを検討することもできます。一部のソフトウェアでは、.jarファイルが.zipアーカイブとして扱われ、それに応じてスキャンされます。それらのシェル統合は、ダブルクリックとコマンドラインの違いを説明するかもしれません。

関連する問題