• ベストアンサー

JVMのメモリ指定に関して

開発したアプリ(swing)をJARファイルで配布した場合 配布先のクライアントJVMのメモリ指定は可能でしょうか?? 【クライアントOS】XP 【クライアントJRE】1.6.0_10 なぜそんな事をするのかと言いますと、作成したアプリを クライアントで実行し(JARのダブルクリック)、同じアプリを2つ起動すると 2つ目の方が実行動作が速いことに気付きました。 【1つ目(重たい)】ボタンを押してからのレスポンスが3秒程度 【2つ目 (早い)】ボタンを押してからのレスポンスが1秒程度 (ボタンを押してからjfreechart作成してパネルの再描画までの時間) (必ず1回目は重たくなり、2つ目の方がレスポンスが早い) 処理時間に差があるのかな?と思いトレース文のSystem.currentTimeMillis()で処理速度を測定。 【1つ目(重たい)】 0.5s 【2つ目 (早い)】 0.49s と時間は全然変わりませんでした。。。なぜだ?? 次にRuntime.getRuntime()よりJava仮想マシンのメモリの使用を 測定しました。 【1つ目(重たい)】 合計 10.2MB 使用量 6.7MB (65.2%) 【2つ目 (早い)】 合計 17.9MB 使用量 11.52MB(64.2%) ややや!!JVMのメモリが上がっている。(もちろんですけど) 2つ目起動の11.52MBの使用量に対して1つ起動の合計の10.2MBは 少ないから遅いのか...?? JVMのメモリ使用量を初めから(1つ目) 増やせれば動作早くなるでしょうか?? javaコマンドでの実行はたしか -Xms でJVMのメモリを指定できた と思いますが、jarをダブルクリックで実行した場合のJVMのメモリ って指定できるのでしょうか??皆様ご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

実行環境はWindowsかしら? jarファイルだけじゃなく batファイルも一緒に配布して batから起動させてはどう? そうすればメモリを割り当てられるわよ。

kmr2310
質問者

お礼

回答ありがとうございます【askaaska】さん!! batで起動オプションで-Xmsすると無事クライアントでメモリ指定できました。 batでのウィンドウを非表示にしたかったため結局vbsで実装しました。 本当にありがとうございました。

その他の回答 (1)

  • OKwebb
  • ベストアンサー率44% (92/208)
回答No.2

残念ながらマニフェストファイルでの設定はできませんね。 #1さんの方式が簡単だと思いますが 以前同様の内容を検討しているMLがあったのでご参考まで紹介します。

参考URL:
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=31484&forum=12
kmr2310
質問者

お礼

【OKwebb】さん回答ありがとうございます!! 配布サイドでクライアントのJVMのメモリを指定方法は無いみたいですね。 そんな機能もあってもいい気がしますが。。。(問題もありますが) 結局vbsで実装いたしました。ありがとうございました。

関連するQ&A