何らかの処理を行い、ユーザーにフィードバックを提供するメッセージを表示する必要がある Java アプリケーションを作成しています。
ただし、非常に遅いようで、戻るのに 2 秒以上かかります。
ソースから明らかな原因を取り除きました。使用したコードは次のとおりです。
package SwingPlay;
import javax.swing.JFrame;
public class Dialog
{
public static void main( String[] args )
{
JFrame frame = new JFrame( "DialogDemo" );
}
}
コマンドラインからこれを実行しています:
java -classpath . SwingPlay.Dialog
ご覧のとおり、JFrame を作成するだけで、表示すらしていません。
関連する場合、ここに私のjava -version
出力があります:
java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
これは (現在) Win XP SP2 に対して実行されています。
では、最初の質問: なぜそんなに遅いのですか?
さらに重要なことは、単純なメッセージ (cmdline ではなく GUI) を遅滞なく表示したいということです。
アップデート:
少し背景が役立つかもしれません:
私は多くの「ヘッド」を持つアプリケーションを作成しています (つまり、複雑な部分を実行するために同じコア クラスを使用するさまざまなユーザー インターフェイス)。
私は現在、正常に動作する純粋なコマンド ライン ヘッドを持っています - すぐに応答します。
また、通常のポイント & クリック GUI を備えた標準アプリケーションも用意するつもりですが、このビットに問題があるとは考えていません。
私が現在取り組んでいるのは、これら 2 つのハイブリッドです。実行ボックス (または同様のランチャー) から、おそらく引数を使用して起動され、事実上、ステータス メッセージで応答するだけで済みます。キーを押します。
この後者は、問題が焦点を合わせているところです。
私はシェルスクリプトで既存のコマンドラインバージョンを使用することに反対していませんが(必要だとは思いませんでした!)、既存の回答は、物事が他の人ほど速く実行されていないことを示唆しているようです-1私の例では、70ms に対して 1460ms かかります。これは大きな違いです。