- 方法 1:最低限の JRE バージョンの場合、それは難しいでしょう。最も簡単な方法は、ビルドしているのと同じバージョンまたはそれ以降 (JRE 6.xx 以降など) を単純に要求することです。
- 方法 2:複数の JDK をインストールして Eclipse で使用できるようにし、ビルド対象のバージョンを変更して、毎回アプリのテスト スイートを実行し、それらがすべて合格することを確認します。すべてのテストに合格できる最も古いバージョンの JDK は、実行できる最も低い JRE です。以前のバージョンの JRE/JDK には、コンパイルの成功を可能にするバグがある可能性がありますが、適切なプログラムの実行は可能ではないため、アプリを正常にコンパイルするだけでは十分ではありません。
- 方法 3: Oracle は常にセキュリティ ホールにパッチを適用しているため、常にクライアント側で最新バージョンを要求します。最終的には、クライアント側で最新バージョンを要求するのが最善かもしれません。
RAMに関する限り、それは簡単です。JVMが起動すると、RAMの「最大」量が設定されます(デフォルトは128MBであると思います)。これは、アプリケーションがクラッシュせずに超えることができないハードリミットです。時間をかけてアプリのプロファイリングを行い、JVM のメモリ設定を微調整して、(a) 許容できるパフォーマンスで、かつ (b) OutOfMemoryErrorをスローせずにアプリを実行するために必要な RAM の最小量を調べます。、これで完了です。
参照: JVM オプションとメモリを構成する方法は?
CPU 要件などの他の要件については、少し曖昧になります。そこには多くの CPU があり、特定のシステムが生成するスループットは、CPU の速度だけでなく、ハード ドライブの速度、システムにインストールされている RAM の量、ネットワーク インターフェイスの速度 (ネットワークアプリを作成している場合)、その他のもの。そのような要件については、さまざまなシステムでテストして、どこかに線を引き、「少なくとも X、Y と同じくらい強力なハードウェアがあれば、許容できるパフォーマンスを期待できます」と言う必要があります。 、Z」。
もう 1 つの方法は、ベンチマークまたはある種のパフォーマンス ログを作成し、そのパフォーマンス データを送り返すことです。多くのアプリがこれを行います。「匿名の使用状況データを母船に送り返してもいいですか?」いくつかのソフトウェアをインストールするときの質問ですか? そのデータの中で一般的なのは、RAM、CPU、ハード ドライブのモデル、その他のハードウェアの詳細 (アプリに関連すると判断したデータ) などのシステム固有の詳細と、パフォーマンス ログ データです。この種のアプローチを採用することで、多数の異なる構成のマシンを社内に持つ必要なく、多数の異なるシステム構成から多くのパフォーマンス データを取得できます。
プログラムのクラッシュやバグについても同じことができます - スタック トレース、システム情報、およびその他の関連データをログ ファイルにダンプして送り返します - ただし、もちろん、ユーザーが送信してもよいと言った場合に限りますそのデータをあなたに返します。