." Copyright (c) 1994, 2012, Oracle and/or its affiliates. All rights reserved.
." ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
."
."
."
."
."
."
."
."
."
."
."
."
."
."
."
."
."
."
."
.TH java 1 "05 Jul 2012"

.LP
.SH "名前"
java \- Javaアプリケーション起動ツール
.LP
.RS 3
.TP 2
o
形式 
.TP 2
o
説明 
.TP 2
o
オプション 
.TP 2
o
関連項目 
.RE

.LP
.SH "形式"
.LP
.nf
\f3
.fl
    \fP\f3java\fP [ options ] class [ argument ... ]
.fl
    \f3java\fP [ options ] \f3\-jar\fP file.jar [ argument ... ]
.fl
.fi

.LP
.RS 3
.TP 3
options 
コマンドライン・オプション。 
.TP 3
class 
呼び出されるクラスの名前。 
.TP 3
file.jar 
呼び出されるJARファイルの名前。\f2\-jar\fPとともにのみ使用されます。 
.TP 3
argument 
\f3main\fP関数に渡される引数。 
.RE

.LP
.SH "説明"
.LP
.LP
\f3java\fPツールは、Javaアプリケーションを起動します。javaツールは、Java Runtime Environmentを起動した後、指定されたクラスをロードし、そのクラスの\f3main\fPメソッドを呼び出すことにより、Javaアプリケーションを起動します。
.LP
.LP
このメソッドは、publicおよびstaticとして宣言する必要があります。また、値は返せません。さらに、\f2String\fP配列をパラメータとして指定できる必要があります。メソッドの宣言は、次のようになっている必要があります。
.LP
.nf
\f3
.fl
public static void main(String args[])
.fl
\fP
.fi

.LP
.LP
デフォルトでは、コマンドライン・オプション以外の最初の引数が、呼び出されるクラスの名前になります。この名前には、完全修飾クラス名を使用する必要があります。\f3\-jar\fPオプションを指定した場合、コマンドライン・オプション以外の最初の引数が、アプリケーションのクラス・ファイルとリソース・ファイルを含む\f3JAR\fPアーカイブの名前になります。この場合、マニフェストの\f3Main\-Class\fPヘッダーで指定されたクラスが起動クラスになります。
.LP
.LP
Java Runtimeは、ブートストラップ・クラス・パス、インストール済拡張機能およびユーザー・クラス・パスの3箇所から起動クラスと他の使用されているクラスを検索します。
.LP
.LP
クラス名またはJARファイル名の後にある、コマンドライン・オプション以外の引数は、\f3main\fP関数に渡されます。
.LP
.SH "オプション"
.LP
.LP
起動ツールには、現在の実行環境および将来のリリースでサポートされる標準オプションがあります。また、仮想マシンの現在の実装では、非標準オプションのセットもサポートされます。これは、将来のリリースで変更される可能性があります。
.LP
.SH "標準オプション"
.LP
.RS 3
.TP 3
\-client 
Java HotSpot Client VMを選択します。64ビット対応JDKは現時点では、このオプションを無視し、かわりにJava Hotspot Server VMを使用します。
.br
.br
デフォルトのVMの選択については、
.na
\f2サーバー \- クラス・マシンの検出\fP @
.fi
http://docs.oracle.com/javase/7/docs/technotes/guides/vm/server\-class.htmlを参照してください。 
.TP 3
\-server 
Java HotSpot Server VMを選択します。64ビット対応JDK上では、サポートされるのはJava Hotspot Server VMのみであるため、\-serverオプションが暗黙的に選択されます。
.br
.br
デフォルトのVMの選択については、
.na
\f2サーバー \- クラス・マシンの検出\fP @
.fi
http://docs.oracle.com/javase/7/docs/technotes/guides/vm/server\-class.htmlを参照してください。 
.TP 3
\-agentlib:libname[=options] 
ネイティブ・エージェント・ライブラリ\f2libname\fPをロードします。たとえば次のように指定します。
.br
.br
\-agentlib:hprof
.br
.br
\-agentlib:jdwp=help
.br
.br
\-agentlib:hprof=help
.br
.br
詳細は、
.na
\f2JVMTIエージェントのコマンドライン・オプション\fP @
.fi
http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#startingを参照してください。 
.TP 3
\-agentpath:pathname[=options] 
フルパス名を使用して、ネーティブ・エージェント・ライブラリをロードします。詳細は、
.na
\f2JVMTIエージェントのコマンドライン・オプション\fP @
.fi
http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#startingを参照してください。 
.TP 3
\-classpath classpath 
.TP 3
\-cp classpath 
クラス・ファイルを検索するディレクトリ、JARアーカイブおよびZIPアーカイブのリストを指定します。クラス・パスの各エントリはコロン(\f3:\fP)で区切ります。\f3\-classpath\fPまたは\f3\-cp\fPを指定すると、このオプションの値によって\f3CLASSPATH\fP環境変数の設定がオーバーライドされます。
.br
.br
\f3\-classpath\fPも\f3\-cp\fPも使用されず、\f3CLASSPATH\fPも設定されていない場合、ユーザー・クラス・パスは現在のディレクトリ(\f4.\fP)になります。  
.br
.br
便宜上、\f2*\fPのベース名を含むクラス・パス要素は、\f2.jar\fPまたは\f2.JAR\fPを拡張子に持つディレクトリ内のすべてのファイルのリストを指定するのと同等とみなされます(javaプログラムはこの2つの呼出しを区別できません)。
.br
.br
たとえば、ディレクトリ\f2foo\fPに\f2a.jar\fPと\f2b.JAR\fPが含まれている場合、クラス・パス要素\f2foo/*\fPは\f2A.jar:b.JAR\fPに展開されます。ただし、JARファイルの順番は未指定となります。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべてのJARファイルが含まれます。\f2*\fPのみからなるクラス・パス・エントリは、現在のディレクトリ内のすべてのJARファイルのリストに展開されます。\f2CLASSPATH\fP環境変数も、定義時には同様に展開されます。クラス・パスのワイルドカード展開は必ず、Java仮想マシンの起動前に実行されます。したがって、環境に問合せを行わない限り、Javaプログラムが展開されていないワイルドカードを認識することはありません。たとえば、\f2System.getenv(\\"CLASSPATH\\")\fP呼出しがその例です。  
.br
.br
クラス・パスの詳細は、
.na
\f2クラス・パスの設定\fP @
.fi
http://docs.oracle.com/javase/7/docs/technotes/tools/index.html#classpathを参照してください。 
.TP 3
\-Dproperty=value 
システム・プロパティの値を設定します。 
.TP 3
\-d32 
.TP 3
\-d64 
それぞれ32ビット環境、64ビット環境でプログラムを実行することをリクエストします。リクエストされた環境がインストールされていないかサポートされていない場合は、エラーが報告されます。
.br
.br
現在のところ、Java HotSpot Server VMのみが64ビットの操作をサポートしているため、\-d64使用時には\-serverオプションが暗黙的に使用されます。したがって、\-d64使用時には「\-client」オプションは無視されます。この仕様は、将来のリリースでは変更になる可能性があります。
.br
.br
\f3\-d32\fPと\f3\-d64\fPがどちらも指定されていない場合は、デフォルトとして、32ビット環境で実行されます。この仕様は、将来のリリースでは変更になる可能性があります。 
.TP 3
\-enableassertions[:<package name>"..." | :<class name> ] 
.TP 3
\-ea[:<package name>"..." | :<class name> ] 
.TP 3
\-disableassertions[:<package name>"..." | :<class name> ] 
.TP 3
\-da[:<package name>"..." | :<class name> ] 
アサーションを無効にします。これがデフォルトです。
.br
.br
引数なしの\f3disableassertions\fPまたは\f3\-da\fPを指定すると、アサーションが無効になります。「\f2...\fP」で終わる引数を1つ指定すると、指定したパッケージとそのサブパッケージ内でアサーションが無効になります。引数として「\f2...\fP」のみを指定すると、現在の作業ディレクトリにある名前のないパッケージ内でアサーションが無効になります。「\f2...\fP」で終わらない引数を1つ指定すると、指定したクラス内でアサーションが無効になります。
.br
.br
パッケージ\f2com.wombat.fruitbat\fP内ではアサーションを有効にし、クラス\f2com.wombat.fruitbat.Brickbat\fP内ではアサーションを無効にしたうえで、プログラムを実行するには、次のようなコマンドを使用します。 
.nf
\f3
.fl
java \-ea:com.wombat.fruitbat... \-da:com.wombat.fruitbat.Brickbat \fP\f4<Main Class>\fP\f3
.fl
\fP
.fi
\f3\-disableassertions\fPおよび\f3\-da\fPスイッチは、\f2すべての\fPクラス・ローダーおよびシステム・クラスに適用されます。システム・クラスにはクラス・ローダーはありません。ただし、このルールには1つ例外があります。それは、引数なしの形式でこのスイッチを指定すると、その指定がシステムに適用\f2されない\fP、ということです。この例外を利用すれば、システム・クラスを除くすべてのクラスでアサーションを簡単に有効にすることができます。すべてのシステム・クラスでアサーションを無効にするために、別のスイッチが用意されています。この後の\f3\-disablesystemassertions\fPを参照してください。 
アサーションを有効にします。アサーションは、デフォルトでは無効になっています。
.br
.br
引数なしの\f3enableassertions\fPまたは\f3\-ea\fPを指定すると、アサーションが有効になります。「\f2...\fP」で終わる引数を1つ指定すると、指定したパッケージとそのサブパッケージ内でアサーションが有効になります。引数として「\f2...\fP」のみを指定すると、現在の作業ディレクトリにある名前のないパッケージ内でアサーションが有効になります。「\f2...\fP」で終わらない引数を1つ指定すると、指定したクラス内でアサーションが有効になります。
.br
.br
単一コマンドラインにこれらのスイッチのインスタンスを複数指定した場合は、指定したスイッチが順番に処理されてからクラスがロードされます。したがって、たとえば、パッケージ\f2com.wombat.fruitbat\fP(サブパッケージを含む)内でのみアサーションを有効にしてプログラムを実行するには、次のようなコマンドを使用します。 
.nf
\f3
.fl
java \-ea:com.wombat.fruitbat... <Main Class>
.fl
\fP
.fi
\f3\-enableassertions\fPおよび\f3\-ea\fPスイッチは、\f2すべての\fPクラス・ローダーおよびシステム・クラスに適用されます。システム・クラスにはクラス・ローダーはありません。ただし、このルールには1つ例外があります。それは、引数なしの形式でこのスイッチを指定すると、その指定がシステムに適用\f2されない\fP、ということです。この例外を利用すれば、システム・クラスを除くすべてのクラスでアサーションを簡単に有効にすることができます。すべてのシステム・クラスでアサーションを無効にするために、別のスイッチが用意されています。この後の\f3\-enablesystemassertions\fPを参照してください。 
.TP 3
\-enablesystemassertions 
.TP 3
\-esa 
すべてのシステム・クラス内でアサーションを有効にします。つまり、システム・クラスについて\f2アサーションのデフォルト・ステータス\fPを\f2true\fPに設定します。 
.TP 3
\-disablesystemassertions 
.TP 3
\-dsa 
すべてのシステム・クラス内でアサーションを無効にします。 
.TP 3
\-helpまたは\-? 
使用方法を表示して終了します。 
.TP 3
\-jar 
JARファイルにカプセル化されたプログラムを実行します。最初の引数は、起動クラスの名前ではなく、JARファイルの名前にします。このオプションが機能するには、JARファイルのマニフェストに\f3「Main\-Class:\fP\f4classname\fP\f3」\fPという形式の行を指定する必要があります。\f2classname\fPには、アプリケーションの開始位置として機能する\f2public\ static\ void\ main(String[]\ args)\fPメソッドを含むクラスを指定します。JARファイルとそのマニフェストについては、jar(1)と、
.na
\f2Javaチュートリアル\fP @
.fi
http://docs.oracle.com/javase/tutorial/deployment/jar/の「Trail: Jar Files」を参照してください。\ 
.br
.br
このオプションを使用すると、指定したJARファイルがすべてのユーザー・クラスのソースになり、ユーザー・クラス・パスの他の設定は無視されます。
.br
.br
「java \-jar」オプションで実行できるJARファイルは、実行権限のセットを保持しています。このため、「java \-jar」を使用しないで実行することも可能です。
.na
\f2Java Archive(JAR)ファイル\fP @
.fi
http://docs.oracle.com/javase/7/docs/technotes/guides/jar/index.htmlを参照してください。 
.TP 3
\-javaagent:jarpath[=options] 
Javaプログラミング言語エージェントをロードします。
.na
\f2java.lang.instrument\fP @
.fi
http://docs.oracle.com/javase/7/docs/api/java/lang/instrument/package\-summary.htmlを参照してください。 
.TP 3
\-jre\-restrict\-search 
ユーザー・プライベートなJREをバージョン検索に含めます。 
.TP 3
\-no\-jre\-restrict\-search 
ユーザー・プライベートなJREをバージョン検索から除外します。 
.TP 3
\-showversion 
バージョン情報を表示して続行します。(関連項目: \f3\-version\fP。) 
.TP 3
\-splash:imagepath 
\f2imagepath\fPに指定された画像を含むスプラッシュ画面を表示します。 
.TP 3
\-verbose 
.TP 3
\-verbose:class 
クラスがロードされるたびにクラスに関する情報を表示します。 
.TP 3
\-verbose:gc 
ガベージ・コレクション・イベントが発生するたびに報告します。 
.TP 3
\-verbose:jni 
ネイティブ・メソッドの使用およびその他のJava Native Interface(JNI)アクティビティに関する情報を報告します。 
.TP 3
\-version 
バージョン情報を表示して終了します。(関連項目: \f3\-showversion\fP。) 
.TP 3
\-version:release 
コマンドラインに指定されたクラスまたはJARファイルが、\f2release\fPで指定されたバージョンを必要としていることを示します。起動されたjavaコマンドのバージョンがこの指定内容を満たさず、かつ適切な実装がシステム上で見つかった場合には、その適切な実装が使用されます。
.br
.br
\f2release\fPでは、特定のバージョンを指定できるのみでなく、バージョン文字列と呼ばれるバージョンのリストを指定することもできます。バージョン文字列は、いくつかのバージョン範囲を空白で区切った形式の順序付きリストです。バージョン範囲は、バージョンID、バージョンIDの後にアスタリスク(*)を付加したもの、バージョンIDの後にプラス記号(+)を付加したもの、2つのバージョン範囲をアンパサンド(&)で結合したもの、のいずれかになります。アスタリスクはプレフィックス一致を、プラス記号は指定されたバージョン以上を、アンパサンドは2つのバージョン範囲の論理積を、それぞれ意味します。次に例を示します。 
.nf
\f3
.fl
\-version:"1.6.0_13 1.6*&1.6.0_10+"
.fl
\fP
.fi
上記の意味は、バージョン1.6.0_13、1.6をバージョンIDプレフィックスに持つ1.6.0_10以上のバージョン、のいずれかをクラスまたはJARファイルが必要としている、ということです。バージョン文字列の厳密な構文や定義については、「Java Network Launching Protocol&API Specification(JSR\-56)」の「Appendix A」を参照してください。
.br
.br
JARファイルの場合は通常、バージョン要件をコマンドラインに指定するよりも、JARファイルのマニフェスト内に指定することが推奨されています。
.br
.br
このオプションの使用に関する重要なポリシー情報については、後述の注意を参照してください。 
.RE

.LP
.SS 
非標準オプション
.LP
.RS 3
.TP 3
\-X 
非標準オプションに関する情報を表示して終了します。 
.TP 3
\-Xint 
インタプリタ専用モードで動作します。ネイティブ・コードへのコンパイルは無効になり、すべてのバイトコードがインタプリタによって実行されます。Java HotSpot VMに対応するコンパイラが提供するパフォーマンス上の利点は、このモードでは実現されません。 
.TP 3
\-Xbatch 
バックグラウンド・コンパイルを無効にします。通常、VMでは、バックグラウンド・コンパイルが終了するまで、メソッドをバックグラウンド・タスクとしてコンパイルし、インタプリタ・モードでメソッドを実行します。\f2\-Xbatch\fPフラグを指定すると、バックグラウンド・コンパイルが無効になり、すべてのメソッドのコンパイルが完了するまでフォアグラウンド・タスクとして処理されます。 
.TP 3
\-Xbootclasspath:bootclasspath 
ブート・クラス・ファイルを検索するディレクトリ、JARアーカイブおよびZIPアーカイブのリストをコロンで区切って指定します。指定したパスに存在するブート・クラス・ファイルが、JavaプラットフォームJDKに含まれるブート・クラス・ファイルのかわりに使用されます。\f2注意: rt.jar内のクラスをオーバーライドする目的でこのオプションを使用するアプリケーションは、システムに配置しないでください。Java Runtime Environmentバイナリ・コード・ライセンス違反になります。\fP 
.TP 3
\-Xbootclasspath/a:path 
ディレクトリ、JARアーカイブおよびZIPアーカイブのパスをコロンで区切って指定します。パスはデフォルトのブートストラップ・クラス・パスの後に追加されます。 
.TP 3
\-Xbootclasspath/p:path 
ディレクトリ、JARアーカイブおよびZIPアーカイブのパスをコロンで区切って指定します。パスはデフォルトのブートストラップ・クラス・パスの前に追加されます。\f2注意: rt.jar内のクラスをオーバーライドする目的でこのオプションを使用するアプリケーションは、システムに配置しないでください。Java Runtime Environmentバイナリ・コード・ライセンス違反になります。\fP 
.TP 3
\-Xcheck:jni 
Java Native Interface(JNI)機能に対して追加チェックを行います。具体的には、Java仮想マシンはJNIリクエストを処理する前に、JNI関数に渡されるパラメータと、実行環境のデータを検証します。無効なデータが見つかった場合は、ネイティブ・コードに問題があることを示しているため、Java仮想マシンは致命的エラーを発生して終了します。このオプションを使用すると、パフォーマンス低下が予想されます。 
.TP 3
\-Xfuture 
クラスとファイルの形式を厳密にチェックします。下位互換性を保つため、JDKの仮想マシンが実行するデフォルトの形式チェックは、JDKソフトウェアのバージョン1.1.xが実行するチェックと同程度の厳密さになっています。\f3\-Xfuture\fPフラグを指定すると、クラス・ファイル形式の仕様への準拠を強化するためのより厳密なチェックが有効になります。Javaアプリケーション起動ツールの将来のリリースでは、より厳密なチェックがデフォルトになるため、新しいコードを開発するときにはこのフラグを使用することをお薦めします。 
.TP 3
\-Xnoclassgc 
クラスのガベージ・コレクションを無効にします。このオプションを使用すると、ロード済クラスからメモリーが回復されることがなくなるため、全体的なメモリー使用量が増大します。この場合、アプリケーションによってはOutOfMemoryErrorがスローされる可能性があります。 
.TP 3
\-Xincgc 
インクリメンタル・ガベージ・コレクタを有効にします。インクリメンタル・ガベージ・コレクタは、デフォルトでは無効になっています。有効にすると、プログラムの実行中にガベージ・コレクションによる一時停止が発生しなくなります。インクリメンタル・ガベージ・コレクタは、プログラムと同時に実行することがあり、この場合、プログラムの利用できるプロセッサ能力が低下します。 
.TP 3
\-Xloggc:file 
\-verbose:gcと同様にガベージ・コレクション・イベントが発生するたびに報告しますが、そのデータを\f2file\fPに記録します。\f2\-verbose:gc\fPを指定したときに報告される情報の他に、報告される各イベントの先頭に、最初のガベージ・コレクション・イベントからの経過時間(秒単位)が付け加えられます。
.br
.br
ネットワークのレスポンス時間によってJVMの実行速度が低下するのを避けるため、このファイルの格納先は、常にローカル・ファイル・システムにしてください。ファイル・システムが満杯になると、ファイルは切り詰められ、そのファイルにデータが引続き記録されます。このオプションと\f2\-verbose:gc\fPの両方がコマンドラインに指定されている場合は、このオプションが優先されます。 
.TP 3
\-Xmnsizeまたは\-XX:NewSize 
若い世代(ナーサリ)のサイズを設定します。 
.TP 3
\-Xmsn 
メモリー割当プールの初期サイズをバイト数で指定します。指定する値は、1MBより大きい1024の倍数にする必要があります。キロバイトを指定するには、文字\f2k\fPまたは\f2K\fPを付けます。メガバイトを指定するには、文字\f2m\fPまたは\f2M\fPを付けます。デフォルト値は、実行時にシステム構成に基づいて選択されます。詳細は、
.na
\f2HotSpot Ergonomics\fP @
.fi
http://docs.oracle.com/javase/7/docs/technotes/guides/vm/gc\-ergonomics.htmlを参照してください。
.br
.br
例: 
.nf
\f3
.fl
       \-Xms6291456
.fl
       \-Xms6144k
.fl
       \-Xms6m
.fl

.fl
\fP
.fi
.TP 3
\-Xmxn 
メモリー割当プールの最大サイズをバイト数で指定します。指定する値は、2MBより大きい1024の倍数にする必要があります。キロバイトを指定するには、文字\f2k\fPまたは\f2K\fPを付けます。メガバイトを指定するには、文字\f2m\fPまたは\f2M\fPを付けます。デフォルト値は、実行時にシステム構成に基づいて選択されます。詳細は、
.na
\f2HotSpot Ergonomics\fP @
.fi
http://docs.oracle.com/javase/7/docs/technotes/guides/vm/gc\-ergonomics.htmlを参照してください。
.br
.br
例: 
.nf
\f3
.fl
       \-Xmx83886080
.fl
       \-Xmx81920k
.fl
       \-Xmx80m
.fl

.fl
\fP
.fi
Solaris 7およびSolaris 8 SPARCプラットフォームの場合のこの値の上限は、およそ4000mからオーバーヘッドの量を引いたものです。Solaris 2.6およびx86プラットフォームの場合の上限は、およそ2000mからオーバーヘッドの量を引いたものです。Linuxプラットフォームの場合の上限は、およそ2000mからオーバーヘッドの量を引いたものです。 
.TP 3
\-Xprof 
実行中のプログラムのプロファイルを生成し、プロファイル・データを標準出力に出力します。このオプションは、プログラム開発用のユーティリティとして提供されています。本番稼働システムでの使用を目的としたものではありません。  
.TP 3
\-Xrs 
Java仮想マシン(JVM)によるオペレーティング・システム・シグナルの使用を減らします。
.br
.br
以前のリリースでは、Javaアプリケーションを秩序正しくシャットダウンするためのシャットダウン・フック機能が追加されました。この機能により、JVMが突然終了した場合でも、シャットダウン時にユーザー・クリーン・アップコード(データベース接続のクローズなど)を実行できるようになりました。
.br
.br
Sun社のJVMは、シグナルをキャッチすることによって、JVMの異常終了のためのシャットダウン・フックを実装します。JVMは、SIGHUP、SIGINTおよびSIGTERMを使用して、シャットダウン・フックの実行を開始します。
.br
.br
JVMは、デバッグの目的でスレッド・スタックをダンプするという、1.2より前からある機能を実現するためにも、同様の機構を使用します。Sun社のJVMは、スレッド・ダンプを実行するためにSIGQUITを使用します。
.br
.br
JVMを埋め込んでいるアプリケーションがSIGINTやSIGTERMなどのシグナルを頻繁にトラップする必要があると、JVMそのもののシグナル・ハンドラの処理に支障が出る可能性があります。\f3\-Xrs\fPコマンドライン・オプションを使用すると、この問題に対処できます。Sun社のJVMに対して\f3\-Xrs\fPを使用すると、SIGINT、SIGTERM、SIGHUPおよびSIGQUITに対するシグナル・マスクはJVMによって変更されず、これらのシグナルに対するシグナル・ハンドラはインストールされません。
.br
.br
\f3\-Xrs\fPを指定した場合、次の2つの影響があります。 
.RS 3
.TP 2
o
SIGQUITによるスレッド・ダンプは使用できません。 
.TP 2
o
シャットダウン・フック処理の実行は、JVMが終了しようとしている時点でSystem.exit()を呼び出すなどして、ユーザー・コード側で行う必要があります。 
.RE
.TP 3
\-Xssn 
スレッドのスタック・サイズを設定します。 
.TP 3
\-XX:AllocationPrefetchStyle=n 
割当中に使用されるプリフェッチのスタイルを設定します。デフォルトは2です。
.br
.TP 3
\-XX:+AggressiveOpts 
積極的な最適化を有効にします。
.br
.TP 3
\-XX:+|\-DisableAttachMechanism 
このオプションは、ツール(\f2jmap\fPおよび\f2jconsole\fPなど)がJVMに接続できるかどうかを指定します。デフォルトでは、この機能は無効になっています。つまり、接続は有効です。使用例: 
.nf
\f3
.fl
      java \-XX:+DisableAttachMechanism
.fl
\fP
.fi
.TP 3
\-XXLargePageSizeInBytes=n 
このオプションは、ラージ・ページの最大サイズを指定します。 
.TP 3
\-XX:MaxGCPauseMillis=n 
最大GC休止時間のターゲットを設定します。
.br
これはソフト・ゴールのため、JVMは実現のために最善の努力をします。デフォルトで設定されている最大値はありません。 
.TP 3
\-XX:NewSize 
若い世代(ナーサリ)のサイズを設定します。\f3\-Xmn\fP\f4size\fPと同じです。 
.TP 3
\-XX:ParallelGCThreads=n 
パラレル・コレクタ内のGCスレッドの数を設定します。
.br
.TP 3
\-XX:PredictedClassLoadCount=n 
このオプションでは、最初に\f3UnlockExperimentalVMOptions\fPフラグを設定する必要があります。アプリケーションが多数のクラスをロードする場合で、特に\f3class.forName()\fPが頻繁に使用される場合は\f3PredictedClassLoadCount\fPフラグを使用します。推奨値は、\f3\-verbose:class\fPからの出力に示されているロード済クラスの数です。
.br
使用例: 
.nf
\f3
.fl
      java \-XX:+UnlockExperimentalVMOptions \-XX:PredictedClassLoadCount=60013
.fl
\fP
.fi
.TP 3
\-XX:+PrintCompilation 
HotSpotダイナミック・ランタイム・コンパイラからの詳細出力を印刷します。
.br
.TP 3
\-XX:+PrintGCDetails \-XX:+PrintGCTimeStamps 
ガベージ・コレクション出力をタイムスタンプとともに印刷します。
.br
.TP 3
\-XX:SoftRefLRUPolicyMSPerMB=0 
このフラグは、ソフトウェア参照の積極的処理を有効にします。このフラグは、HotSpot GCがソフトウェア参照カウントの影響を受ける場合に使用します。 
.TP 3
\-XX:TLABSize=n 
スレッド・ローカル割当バッファ(TLAB)がHotSpotでデフォルトで有効になっています。HotSpotでは、TLABのサイズを割当パターンに基づいて自動的に決定します。\f3\-XX:TLABSize\fPオプションでTLABのサイズを微調整できます。
.br
.TP 3
\-XX:+UnlockCommercialFeatures 
このフラグは、商用機能の使用を能動的にロック解除する場合に使用します。商用機能とは、
.na
\f2Oracle Java SE Products Webページ\fP @
.fi
http://www.oracle.com/technetwork/java/javase/terms/products/index.htmlで規定される製品"Oracle Java SE Advanced"または"Oracle Java SE Suite"です。
.br
このフラグが指定されていない場合、デフォルトはJava仮想マシンを使用可能な商用機能なしで実行することです。いったん商用機能を有効にすると、実行時にその使用を無効にすることはできません。 
.TP 3
\-XX:+UseAltSigs 
VMではデフォルトで\f2SIGUSR1\fPおよび\f2SIGUSR2\fPを使用しますが、\f2SIGUSR1\fPおよび\f2SIGUSR2\fPをシグナル連鎖するアプリケーションと競合する場合があります。\f2\-XX:+UseAltSigs\fPオプションは、VMにデフォルトとして\f2SIGUSR1\fPと\f2SIGUSR2\fP以外のシグナルを使用させます。 
.TP 3
\-XX:+|\-UseCompressedOops 
64ビットJVMで圧縮参照を有効にします。
.br
このオプションはデフォルトでtrueです。
.br
.TP 3
\-XX:+UseConcMarkSweepGCまたは\-XX:+UseG1GC 
これらのフラグはConcurrent Mark Sweep (CMS)またはG1ガベージ・コレクションを有効にします。
.br
.TP 3
\-XX:+|\-UseLargePages 
このフラグは、ラージ・ページ・サポートを有効にする場合に使用します。ラージ・ページは、Solarisではデフォルトで有効になっています。
.br
.TP 3
\-XX:+UseParallelOldGC 
パラレル・ガベージ・コレクタを有効にします。これはスループットおよび平均レスポンス時間に対して最適化されます。
.br
.RE

.LP
.SH "注意"
.LP
.LP
\f3\-version:\fP\f2release\fPコマンドライン・オプションでは、リリース指定の複雑さに制限はありません。ただし、可能なリリース指定の限られたサブセットのみが適切なサウンド・ポリシーを表現でき、それらのみが完全にサポートされます。それらのポリシーを次に示します。
.LP
.RS 3
.TP 3
1.
任意のバージョン。これは、このオプションを使用しないことで表現できます。 
.TP 3
2.
ある特定のバージョンIDよりも大きい任意のバージョン。次に例を示します。 
.nf
\f3
.fl
"1.6.0_10+"
.fl
\fP
.fi
この場合、\f21.6.0_10\fPよりも大きい任意のバージョンが使用されます。これは、指定されたバージョンで特定のインタフェースが導入された(あるいはそのバグが修正された)場合に便利です。 
.TP 3
3.
ある特定のバージョンIDよりも大きいバージョンで、そのリリース・ファミリの上限によって制限されるもの。次に例を示します。 
.nf
\f3
.fl
"1.6.0_10+&1.6*"
.fl
\fP
.fi
.TP 3
4.
上の項目2と項目3の「OR」式。次に例を示します。 
.nf
\f3
.fl
"1.6.0_10+&1.6* 1.7+"
.fl
\fP
.fi
これは項目2に似ていますが、ある変更が特定のリリース(1.7)で導入されたが、その同じ変更が以前のリリースのアップデートでも利用可能になった、という場合に便利です。 
.RE

.LP
.SH "パフォーマンス・チューニングの例"
.LP
.LP
スループットまたはレスポンス時間の高速化のどちらかを最適化するための、試験的なチューニング・フラグの使用例を次に示します。
.LP
.SS 
スループットを向上するためのチューニング
.LP
.nf
\f3
.fl
        java \-d64 \-server \-XX:+AggressiveOpts \-XX:+UseLargePages \-Xmn10g  \-Xms26g \-Xmx26g 
.fl
\fP
.fi

.LP
.SS 
レスポンス時間を速くするためのチューニング
.LP
.nf
\f3
.fl
        java \-d64 \-XX:+UseG1GC \-Xms26g Xmx26g \-XX:MaxGCPauseMillis=500 \-XX:+PrintGCTimeStamps 
.fl
\fP
.fi

.LP
.SH "終了ステータス"
.LP
.LP
一般に、次の終了値が起動ツールから返されるのは通常、起動元が不正な引数で呼び出されたか、深刻なエラーが発生したか、あるいはJava仮想マシンから例外がスローされた場合です。ただしJavaアプリケーションは、API呼出し\f2System.exit(exitValue)\fPを使用して任意の値を返すことを選択することもできます。
.LP
.RS 3
.TP 2
o
\f20\fP: 正常終了 
.TP 2
o
\f2>0\fP: エラー発生 
.RE

.LP
.SH "関連項目"
.LP
.RS 3
.TP 2
o
javac(1) 
.TP 2
o
jdb(1) 
.TP 2
o
javah(1) 
.TP 2
o
jar(1) 
.TP 2
o
.na
\f2Java拡張機能フレームワーク\fP @
.fi
http://docs.oracle.com/javase/7/docs/technotes/guides/extensions/index.html 
.TP 2
o
.na
\f2セキュリティ\fP @
.fi
http://docs.oracle.com/javase/7/docs/technotes/guides/security/index.html 
.TP 2
o
.na
\f2HotSpot VM Specific Options\fP @
.fi
http://www.oracle.com/technetwork/java/javase/tech/vmoptions\-jsp\-140102.html 
.RE

.LP
 
