私は非常に奇妙な問題があります。私のJavaアプリケーションは非常に遅いです。ここにコードのスニペットがあります:非常に遅いJavaアプリケーションの起動
public static void main(String[] args) {
System.out.println("Is this going to be printed really fast?");
if (args.length == 0) {
//other code below
でも、println文でも即座には印刷されません。リモートプロファイリングを試みました.JVMがブートストラップでは十分ではないようです。私はprintlnにブレークポイントを設定して、デバッガとリモートで接続しようとしました。ブレークポイントは数分間ヒットしませんでした。私のJVMのバージョン:
java -Xmx120m -version
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) 64-Bit Server VM (build 14.0-b16, mixed mode)
私のOSがあります。Linux 2.6.27.45-光沢1.8.3.ddn3.3#1 SMP火10月19日午後三時02分53秒BST 2010 x86_64のGNU/Linuxと私は全くありません静的クラス。 私のアプリケーションを呼び出す方法 - java -Xmx120m -jar/path/to/app。コードにバグがあったら、高価なオペレーション、フレークなロジックなんて何でも分かります。しかし、メインクラスの後の最初の声明とそのような遅いスタートを持つ私はそれが正常だとは思わない。
どのOSを使用していますか? – neworld
"slow"を定義できますか?どれくらい遅いですか? –
'java -verbose'または' java -verbose:class'を使って実行することができます。あなたの_ _ code_が多くのクラスの読み込みを要求している場合は、時間がかかることがあります。 – Matteo