annotate src/linux/doc/man/ja/java.1 @ 5193:28e43b980aee

7182226: NLS: jdk7u6 message drop20 integration Reviewed-by: yhuang
author mfang
date Mon, 09 Jul 2012 22:58:53 -0700
parents 94ba195ce8a1
children 2d74fcc2b07e
rev   line source
mfang@4943 1 ." Copyright (c) 1994, 2012, Oracle and/or its affiliates. All rights reserved.
tbell@1178 2 ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
tbell@1178 3 ."
tbell@1178 4 ." This code is free software; you can redistribute it and/or modify it
tbell@1178 5 ." under the terms of the GNU General Public License version 2 only, as
tbell@1178 6 ." published by the Free Software Foundation.
tbell@1178 7 ."
tbell@1178 8 ." This code is distributed in the hope that it will be useful, but WITHOUT
tbell@1178 9 ." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
tbell@1178 10 ." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
tbell@1178 11 ." version 2 for more details (a copy is included in the LICENSE file that
tbell@1178 12 ." accompanied this code).
tbell@1178 13 ."
tbell@1178 14 ." You should have received a copy of the GNU General Public License version
tbell@1178 15 ." 2 along with this work; if not, write to the Free Software Foundation,
tbell@1178 16 ." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
tbell@1178 17 ."
ohair@2362 18 ." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ohair@2362 19 ." or visit www.oracle.com if you need additional information or have any
ohair@2362 20 ." questions.
tbell@1178 21 ."
mfang@5193 22 .TH java 1 "05 Jul 2012"
tbell@1178 23
duke@0 24 .LP
ogino@4033 25 .SH "名前"
mfang@4943 26 java \- Javaアプリケーション起動ツール
duke@0 27 .LP
tbell@1178 28 .RS 3
tbell@1178 29 .TP 2
tbell@1178 30 o
ogino@4033 31 形式
tbell@1178 32 .TP 2
tbell@1178 33 o
ogino@4033 34 説明
tbell@1178 35 .TP 2
tbell@1178 36 o
ogino@4033 37 オプション
tbell@1178 38 .TP 2
tbell@1178 39 o
ogino@4033 40 関連項目
tbell@1178 41 .RE
tbell@1178 42
duke@0 43 .LP
ogino@4033 44 .SH "形式"
duke@0 45 .LP
duke@0 46 .nf
duke@0 47 \f3
duke@0 48 .fl
tbell@1178 49 \fP\f3java\fP [ options ] class [ argument ... ]
tbell@1178 50 .fl
tbell@1178 51 \f3java\fP [ options ] \f3\-jar\fP file.jar [ argument ... ]
tbell@1178 52 .fl
tbell@1178 53 .fi
tbell@1178 54
tbell@1178 55 .LP
tbell@1178 56 .RS 3
tbell@1178 57 .TP 3
tbell@1178 58 options
mfang@4943 59 コマンドライン・オプション。
tbell@1178 60 .TP 3
tbell@1178 61 class
mfang@4943 62 呼び出されるクラスの名前。
tbell@1178 63 .TP 3
tbell@1178 64 file.jar
mfang@4943 65 呼び出されるJARファイルの名前。\f2\-jar\fPとともにのみ使用されます。
tbell@1178 66 .TP 3
tbell@1178 67 argument
mfang@4943 68 \f3main\fP関数に渡される引数。
tbell@1178 69 .RE
tbell@1178 70
tbell@1178 71 .LP
ogino@4033 72 .SH "説明"
tbell@1178 73 .LP
tbell@1178 74 .LP
mfang@4943 75 \f3java\fPツールは、Javaアプリケーションを起動します。javaツールは、Java Runtime Environmentを起動した後、指定されたクラスをロードし、そのクラスの\f3main\fPメソッドを呼び出すことにより、Javaアプリケーションを起動します。
tbell@1178 76 .LP
tbell@1178 77 .LP
mfang@4943 78 このメソッドは、publicおよびstaticとして宣言する必要があります。また、値は返せません。さらに、\f2String\fP配列をパラメータとして指定できる必要があります。メソッドの宣言は、次のようになっている必要があります。
tbell@1178 79 .LP
tbell@1178 80 .nf
tbell@1178 81 \f3
tbell@1178 82 .fl
ogino@4033 83 public static void main(String args[])
duke@0 84 .fl
duke@0 85 \fP
duke@0 86 .fi
tbell@1178 87
duke@0 88 .LP
duke@0 89 .LP
mfang@4943 90 デフォルトでは、コマンドライン・オプション以外の最初の引数が、呼び出されるクラスの名前になります。この名前には、完全修飾クラス名を使用する必要があります。\f3\-jar\fPオプションを指定した場合、コマンドライン・オプション以外の最初の引数が、アプリケーションのクラス・ファイルとリソース・ファイルを含む\f3JAR\fPアーカイブの名前になります。この場合、マニフェストの\f3Main\-Class\fPヘッダーで指定されたクラスが起動クラスになります。
duke@0 91 .LP
duke@0 92 .LP
mfang@4943 93 Java Runtimeは、ブートストラップ・クラス・パス、インストール済拡張機能およびユーザー・クラス・パスの3箇所から起動クラスと他の使用されているクラスを検索します。
tbell@1178 94 .LP
tbell@1178 95 .LP
mfang@4943 96 クラス名またはJARファイル名の後にある、コマンドライン・オプション以外の引数は、\f3main\fP関数に渡されます。
tbell@1178 97 .LP
ogino@4033 98 .SH "オプション"
tbell@1178 99 .LP
tbell@1178 100 .LP
ogino@4033 101 起動ツールには、現在の実行環境および将来のリリースでサポートされる標準オプションがあります。また、仮想マシンの現在の実装では、非標準オプションのセットもサポートされます。これは、将来のリリースで変更される可能性があります。
tbell@1178 102 .LP
ogino@4033 103 .SH "標準オプション"
tbell@1178 104 .LP
tbell@1178 105 .RS 3
tbell@1178 106 .TP 3
tbell@1178 107 \-client
mfang@4943 108 Java HotSpot Client VMを選択します。64ビット対応JDKは現時点では、このオプションを無視し、かわりにJava Hotspot Server VMを使用します。
mfang@4943 109 .br
mfang@4943 110 .br
mfang@4943 111 デフォルトのVMの選択については、
tbell@1178 112 .na
mfang@4943 113 \f2サーバー \- クラス・マシンの検出\fP @
tbell@1178 114 .fi
mfang@5193 115 http://docs.oracle.com/javase/7/docs/technotes/guides/vm/server\-class.htmlを参照してください。
tbell@1178 116 .TP 3
tbell@1178 117 \-server
mfang@4943 118 Java HotSpot Server VMを選択します。64ビット対応JDK上では、サポートされるのはJava Hotspot Server VMのみであるため、\-serverオプションが暗黙的に選択されます。
mfang@4943 119 .br
mfang@4943 120 .br
mfang@4943 121 デフォルトのVMの選択については、
tbell@1178 122 .na
mfang@4943 123 \f2サーバー \- クラス・マシンの検出\fP @
tbell@1178 124 .fi
mfang@5193 125 http://docs.oracle.com/javase/7/docs/technotes/guides/vm/server\-class.htmlを参照してください。
tbell@1178 126 .TP 3
tbell@1178 127 \-agentlib:libname[=options]
mfang@4943 128 ネイティブ・エージェント・ライブラリ\f2libname\fPをロードします。たとえば次のように指定します。
mfang@4943 129 .br
mfang@4943 130 .br
mfang@4943 131 \-agentlib:hprof
mfang@4943 132 .br
mfang@4943 133 .br
mfang@4943 134 \-agentlib:jdwp=help
mfang@4943 135 .br
mfang@4943 136 .br
mfang@4943 137 \-agentlib:hprof=help
mfang@4943 138 .br
mfang@4943 139 .br
mfang@4943 140 詳細は、
tbell@1178 141 .na
mfang@4943 142 \f2JVMTIエージェントのコマンドライン・オプション\fP @
tbell@1178 143 .fi
mfang@5193 144 http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#startingを参照してください。
tbell@1178 145 .TP 3
tbell@1178 146 \-agentpath:pathname[=options]
mfang@4943 147 フルパス名を使用して、ネーティブ・エージェント・ライブラリをロードします。詳細は、
tbell@1178 148 .na
mfang@4943 149 \f2JVMTIエージェントのコマンドライン・オプション\fP @
tbell@1178 150 .fi
mfang@5193 151 http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html#startingを参照してください。
tbell@1178 152 .TP 3
tbell@1178 153 \-classpath classpath
tbell@1178 154 .TP 3
tbell@1178 155 \-cp classpath
mfang@4943 156 クラス・ファイルを検索するディレクトリ、JARアーカイブおよびZIPアーカイブのリストを指定します。クラス・パスの各エントリはコロン(\f3:\fP)で区切ります。\f3\-classpath\fPまたは\f3\-cp\fPを指定すると、このオプションの値によって\f3CLASSPATH\fP環境変数の設定がオーバーライドされます。
tbell@1178 157 .br
tbell@1178 158 .br
mfang@4943 159 \f3\-classpath\fPも\f3\-cp\fPも使用されず、\f3CLASSPATH\fPも設定されていない場合、ユーザー・クラス・パスは現在のディレクトリ(\f4.\fP)になります。
mfang@4943 160 .br
mfang@4943 161 .br
mfang@4943 162 便宜上、\f2*\fPのベース名を含むクラス・パス要素は、\f2.jar\fPまたは\f2.JAR\fPを拡張子に持つディレクトリ内のすべてのファイルのリストを指定するのと同等とみなされます(javaプログラムはこの2つの呼出しを区別できません)。
mfang@4943 163 .br
mfang@4943 164 .br
mfang@4943 165 たとえば、ディレクトリ\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呼出しがその例です。
mfang@4943 166 .br
mfang@4943 167 .br
mfang@4943 168 クラス・パスの詳細は、
tbell@1178 169 .na
mfang@4943 170 \f2クラス・パスの設定\fP @
tbell@1178 171 .fi
mfang@5193 172 http://docs.oracle.com/javase/7/docs/technotes/tools/index.html#classpathを参照してください。
tbell@1178 173 .TP 3
tbell@1178 174 \-Dproperty=value
mfang@4943 175 システム・プロパティの値を設定します。
tbell@1178 176 .TP 3
tbell@1178 177 \-d32
tbell@1178 178 .TP 3
tbell@1178 179 \-d64
mfang@4943 180 それぞれ32ビット環境、64ビット環境でプログラムを実行することをリクエストします。リクエストされた環境がインストールされていないかサポートされていない場合は、エラーが報告されます。
mfang@4943 181 .br
mfang@4943 182 .br
mfang@4943 183 現在のところ、Java HotSpot Server VMのみが64ビットの操作をサポートしているため、\-d64使用時には\-serverオプションが暗黙的に使用されます。したがって、\-d64使用時には「\-client」オプションは無視されます。この仕様は、将来のリリースでは変更になる可能性があります。
mfang@4943 184 .br
mfang@4943 185 .br
mfang@4943 186 \f3\-d32\fPと\f3\-d64\fPがどちらも指定されていない場合は、デフォルトとして、32ビット環境で実行されます。この仕様は、将来のリリースでは変更になる可能性があります。
tbell@1178 187 .TP 3
ogino@4033 188 \-enableassertions[:<package name>"..." | :<class name> ]
tbell@1178 189 .TP 3
ogino@4033 190 \-ea[:<package name>"..." | :<class name> ]
mfang@4943 191 .TP 3
mfang@4943 192 \-disableassertions[:<package name>"..." | :<class name> ]
mfang@4943 193 .TP 3
mfang@4943 194 \-da[:<package name>"..." | :<class name> ]
mfang@4943 195 アサーションを無効にします。これがデフォルトです。
mfang@4943 196 .br
mfang@4943 197 .br
mfang@4943 198 引数なしの\f3disableassertions\fPまたは\f3\-da\fPを指定すると、アサーションが無効になります。「\f2...\fP」で終わる引数を1つ指定すると、指定したパッケージとそのサブパッケージ内でアサーションが無効になります。引数として「\f2...\fP」のみを指定すると、現在の作業ディレクトリにある名前のないパッケージ内でアサーションが無効になります。「\f2...\fP」で終わらない引数を1つ指定すると、指定したクラス内でアサーションが無効になります。
mfang@4943 199 .br
mfang@4943 200 .br
mfang@4943 201 パッケージ\f2com.wombat.fruitbat\fP内ではアサーションを有効にし、クラス\f2com.wombat.fruitbat.Brickbat\fP内ではアサーションを無効にしたうえで、プログラムを実行するには、次のようなコマンドを使用します。
mfang@4943 202 .nf
mfang@4943 203 \f3
mfang@4943 204 .fl
mfang@4943 205 java \-ea:com.wombat.fruitbat... \-da:com.wombat.fruitbat.Brickbat \fP\f4<Main Class>\fP\f3
mfang@4943 206 .fl
mfang@4943 207 \fP
mfang@4943 208 .fi
mfang@4943 209 \f3\-disableassertions\fPおよび\f3\-da\fPスイッチは、\f2すべての\fPクラス・ローダーおよびシステム・クラスに適用されます。システム・クラスにはクラス・ローダーはありません。ただし、このルールには1つ例外があります。それは、引数なしの形式でこのスイッチを指定すると、その指定がシステムに適用\f2されない\fP、ということです。この例外を利用すれば、システム・クラスを除くすべてのクラスでアサーションを簡単に有効にすることができます。すべてのシステム・クラスでアサーションを無効にするために、別のスイッチが用意されています。この後の\f3\-disablesystemassertions\fPを参照してください。
mfang@4943 210 アサーションを有効にします。アサーションは、デフォルトでは無効になっています。
mfang@4943 211 .br
mfang@4943 212 .br
mfang@4943 213 引数なしの\f3enableassertions\fPまたは\f3\-ea\fPを指定すると、アサーションが有効になります。「\f2...\fP」で終わる引数を1つ指定すると、指定したパッケージとそのサブパッケージ内でアサーションが有効になります。引数として「\f2...\fP」のみを指定すると、現在の作業ディレクトリにある名前のないパッケージ内でアサーションが有効になります。「\f2...\fP」で終わらない引数を1つ指定すると、指定したクラス内でアサーションが有効になります。
mfang@4943 214 .br
mfang@4943 215 .br
mfang@4943 216 単一コマンドラインにこれらのスイッチのインスタンスを複数指定した場合は、指定したスイッチが順番に処理されてからクラスがロードされます。したがって、たとえば、パッケージ\f2com.wombat.fruitbat\fP(サブパッケージを含む)内でのみアサーションを有効にしてプログラムを実行するには、次のようなコマンドを使用します。
tbell@1178 217 .nf
tbell@1178 218 \f3
tbell@1178 219 .fl
tbell@1178 220 java \-ea:com.wombat.fruitbat... <Main Class>
tbell@1178 221 .fl
tbell@1178 222 \fP
tbell@1178 223 .fi
mfang@4943 224 \f3\-enableassertions\fPおよび\f3\-ea\fPスイッチは、\f2すべての\fPクラス・ローダーおよびシステム・クラスに適用されます。システム・クラスにはクラス・ローダーはありません。ただし、このルールには1つ例外があります。それは、引数なしの形式でこのスイッチを指定すると、その指定がシステムに適用\f2されない\fP、ということです。この例外を利用すれば、システム・クラスを除くすべてのクラスでアサーションを簡単に有効にすることができます。すべてのシステム・クラスでアサーションを無効にするために、別のスイッチが用意されています。この後の\f3\-enablesystemassertions\fPを参照してください。
tbell@1178 225 .TP 3
tbell@1178 226 \-enablesystemassertions
tbell@1178 227 .TP 3
tbell@1178 228 \-esa
mfang@4943 229 すべてのシステム・クラス内でアサーションを有効にします。つまり、システム・クラスについて\f2アサーションのデフォルト・ステータス\fPを\f2true\fPに設定します。
tbell@1178 230 .TP 3
tbell@1178 231 \-disablesystemassertions
tbell@1178 232 .TP 3
tbell@1178 233 \-dsa
mfang@4943 234 すべてのシステム・クラス内でアサーションを無効にします。
mfang@4943 235 .TP 3
mfang@4943 236 \-helpまたは\-?
mfang@4943 237 使用方法を表示して終了します。
duke@0 238 .TP 3
tbell@1178 239 \-jar
mfang@4943 240 JARファイルにカプセル化されたプログラムを実行します。最初の引数は、起動クラスの名前ではなく、JARファイルの名前にします。このオプションが機能するには、JARファイルのマニフェストに\f3「Main\-Class:\fP\f4classname\fP\f3」\fPという形式の行を指定する必要があります。\f2classname\fPには、アプリケーションの開始位置として機能する\f2public\ static\ void\ main(String[]\ args)\fPメソッドを含むクラスを指定します。JARファイルとそのマニフェストについては、jar(1)と、
tbell@1178 241 .na
mfang@4943 242 \f2Javaチュートリアル\fP @
tbell@1178 243 .fi
mfang@5193 244 http://docs.oracle.com/javase/tutorial/deployment/jar/の「Trail: Jar Files」を参照してください。\
mfang@4943 245 .br
mfang@4943 246 .br
mfang@4943 247 このオプションを使用すると、指定したJARファイルがすべてのユーザー・クラスのソースになり、ユーザー・クラス・パスの他の設定は無視されます。
mfang@4943 248 .br
mfang@4943 249 .br
mfang@4943 250 「java \-jar」オプションで実行できるJARファイルは、実行権限のセットを保持しています。このため、「java \-jar」を使用しないで実行することも可能です。
tbell@1178 251 .na
mfang@4943 252 \f2Java Archive(JAR)ファイル\fP @
tbell@1178 253 .fi
mfang@5193 254 http://docs.oracle.com/javase/7/docs/technotes/guides/jar/index.htmlを参照してください。
duke@0 255 .TP 3
tbell@1178 256 \-javaagent:jarpath[=options]
mfang@4943 257 Javaプログラミング言語エージェントをロードします。
tbell@1178 258 .na
mfang@4943 259 \f2java.lang.instrument\fP @
tbell@1178 260 .fi
mfang@5193 261 http://docs.oracle.com/javase/7/docs/api/java/lang/instrument/package\-summary.htmlを参照してください。
ogino@4033 262 .TP 3
ogino@4033 263 \-jre\-restrict\-search
mfang@4943 264 ユーザー・プライベートなJREをバージョン検索に含めます。
ogino@4033 265 .TP 3
ogino@4033 266 \-no\-jre\-restrict\-search
mfang@4943 267 ユーザー・プライベートなJREをバージョン検索から除外します。
mfang@4943 268 .TP 3
mfang@4943 269 \-showversion
mfang@4943 270 バージョン情報を表示して続行します。(関連項目: \f3\-version\fP。)
mfang@4943 271 .TP 3
mfang@4943 272 \-splash:imagepath
mfang@4943 273 \f2imagepath\fPに指定された画像を含むスプラッシュ画面を表示します。
duke@0 274 .TP 3
tbell@1178 275 \-verbose
duke@0 276 .TP 3
tbell@1178 277 \-verbose:class
ogino@4033 278 クラスがロードされるたびにクラスに関する情報を表示します。
duke@0 279 .TP 3
tbell@1178 280 \-verbose:gc
mfang@4943 281 ガベージ・コレクション・イベントが発生するたびに報告します。
duke@0 282 .TP 3
tbell@1178 283 \-verbose:jni
mfang@4943 284 ネイティブ・メソッドの使用およびその他のJava Native Interface(JNI)アクティビティに関する情報を報告します。
duke@0 285 .TP 3
tbell@1178 286 \-version
mfang@4943 287 バージョン情報を表示して終了します。(関連項目: \f3\-showversion\fP。)
duke@0 288 .TP 3
tbell@1178 289 \-version:release
mfang@4943 290 コマンドラインに指定されたクラスまたはJARファイルが、\f2release\fPで指定されたバージョンを必要としていることを示します。起動されたjavaコマンドのバージョンがこの指定内容を満たさず、かつ適切な実装がシステム上で見つかった場合には、その適切な実装が使用されます。
mfang@4943 291 .br
mfang@4943 292 .br
mfang@4943 293 \f2release\fPでは、特定のバージョンを指定できるのみでなく、バージョン文字列と呼ばれるバージョンのリストを指定することもできます。バージョン文字列は、いくつかのバージョン範囲を空白で区切った形式の順序付きリストです。バージョン範囲は、バージョンID、バージョンIDの後にアスタリスク(*)を付加したもの、バージョンIDの後にプラス記号(+)を付加したもの、2つのバージョン範囲をアンパサンド(&)で結合したもの、のいずれかになります。アスタリスクはプレフィックス一致を、プラス記号は指定されたバージョン以上を、アンパサンドは2つのバージョン範囲の論理積を、それぞれ意味します。次に例を示します。
tbell@1178 294 .nf
tbell@1178 295 \f3
tbell@1178 296 .fl
ogino@4033 297 \-version:"1.6.0_13 1.6*&1.6.0_10+"
tbell@1178 298 .fl
tbell@1178 299 \fP
tbell@1178 300 .fi
mfang@4943 301 上記の意味は、バージョン1.6.0_13、1.6をバージョンIDプレフィックスに持つ1.6.0_10以上のバージョン、のいずれかをクラスまたはJARファイルが必要としている、ということです。バージョン文字列の厳密な構文や定義については、「Java Network Launching Protocol&API Specification(JSR\-56)」の「Appendix A」を参照してください。
mfang@4943 302 .br
mfang@4943 303 .br
mfang@4943 304 JARファイルの場合は通常、バージョン要件をコマンドラインに指定するよりも、JARファイルのマニフェスト内に指定することが推奨されています。
mfang@4943 305 .br
mfang@4943 306 .br
mfang@4943 307 このオプションの使用に関する重要なポリシー情報については、後述の注意を参照してください。
tbell@1178 308 .RE
tbell@1178 309
tbell@1178 310 .LP
tbell@1178 311 .SS
ogino@4033 312 非標準オプション
tbell@1178 313 .LP
tbell@1178 314 .RS 3
tbell@1178 315 .TP 3
mfang@4943 316 \-X
mfang@4943 317 非標準オプションに関する情報を表示して終了します。
mfang@4943 318 .TP 3
tbell@1178 319 \-Xint
mfang@4943 320 インタプリタ専用モードで動作します。ネイティブ・コードへのコンパイルは無効になり、すべてのバイトコードがインタプリタによって実行されます。Java HotSpot VMに対応するコンパイラが提供するパフォーマンス上の利点は、このモードでは実現されません。
tbell@1178 321 .TP 3
tbell@1178 322 \-Xbatch
mfang@4943 323 バックグラウンド・コンパイルを無効にします。通常、VMでは、バックグラウンド・コンパイルが終了するまで、メソッドをバックグラウンド・タスクとしてコンパイルし、インタプリタ・モードでメソッドを実行します。\f2\-Xbatch\fPフラグを指定すると、バックグラウンド・コンパイルが無効になり、すべてのメソッドのコンパイルが完了するまでフォアグラウンド・タスクとして処理されます。
tbell@1178 324 .TP 3
tbell@1178 325 \-Xbootclasspath:bootclasspath
mfang@4943 326 ブート・クラス・ファイルを検索するディレクトリ、JARアーカイブおよびZIPアーカイブのリストをコロンで区切って指定します。指定したパスに存在するブート・クラス・ファイルが、JavaプラットフォームJDKに含まれるブート・クラス・ファイルのかわりに使用されます。\f2注意: rt.jar内のクラスをオーバーライドする目的でこのオプションを使用するアプリケーションは、システムに配置しないでください。Java Runtime Environmentバイナリ・コード・ライセンス違反になります。\fP
tbell@1178 327 .TP 3
tbell@1178 328 \-Xbootclasspath/a:path
mfang@4943 329 ディレクトリ、JARアーカイブおよびZIPアーカイブのパスをコロンで区切って指定します。パスはデフォルトのブートストラップ・クラス・パスの後に追加されます。
tbell@1178 330 .TP 3
tbell@1178 331 \-Xbootclasspath/p:path
mfang@4943 332 ディレクトリ、JARアーカイブおよびZIPアーカイブのパスをコロンで区切って指定します。パスはデフォルトのブートストラップ・クラス・パスの前に追加されます。\f2注意: rt.jar内のクラスをオーバーライドする目的でこのオプションを使用するアプリケーションは、システムに配置しないでください。Java Runtime Environmentバイナリ・コード・ライセンス違反になります。\fP
tbell@1178 333 .TP 3
tbell@1178 334 \-Xcheck:jni
mfang@4943 335 Java Native Interface(JNI)機能に対して追加チェックを行います。具体的には、Java仮想マシンはJNIリクエストを処理する前に、JNI関数に渡されるパラメータと、実行環境のデータを検証します。無効なデータが見つかった場合は、ネイティブ・コードに問題があることを示しているため、Java仮想マシンは致命的エラーを発生して終了します。このオプションを使用すると、パフォーマンス低下が予想されます。
tbell@1178 336 .TP 3
tbell@1178 337 \-Xfuture
mfang@4943 338 クラスとファイルの形式を厳密にチェックします。下位互換性を保つため、JDKの仮想マシンが実行するデフォルトの形式チェックは、JDKソフトウェアのバージョン1.1.xが実行するチェックと同程度の厳密さになっています。\f3\-Xfuture\fPフラグを指定すると、クラス・ファイル形式の仕様への準拠を強化するためのより厳密なチェックが有効になります。Javaアプリケーション起動ツールの将来のリリースでは、より厳密なチェックがデフォルトになるため、新しいコードを開発するときにはこのフラグを使用することをお薦めします。
tbell@1178 339 .TP 3
tbell@1178 340 \-Xnoclassgc
mfang@4943 341 クラスのガベージ・コレクションを無効にします。このオプションを使用すると、ロード済クラスからメモリーが回復されることがなくなるため、全体的なメモリー使用量が増大します。この場合、アプリケーションによってはOutOfMemoryErrorがスローされる可能性があります。
tbell@1178 342 .TP 3
tbell@1178 343 \-Xincgc
mfang@4943 344 インクリメンタル・ガベージ・コレクタを有効にします。インクリメンタル・ガベージ・コレクタは、デフォルトでは無効になっています。有効にすると、プログラムの実行中にガベージ・コレクションによる一時停止が発生しなくなります。インクリメンタル・ガベージ・コレクタは、プログラムと同時に実行することがあり、この場合、プログラムの利用できるプロセッサ能力が低下します。
tbell@1178 345 .TP 3
tbell@1178 346 \-Xloggc:file
mfang@4943 347 \-verbose:gcと同様にガベージ・コレクション・イベントが発生するたびに報告しますが、そのデータを\f2file\fPに記録します。\f2\-verbose:gc\fPを指定したときに報告される情報の他に、報告される各イベントの先頭に、最初のガベージ・コレクション・イベントからの経過時間(秒単位)が付け加えられます。
mfang@4943 348 .br
mfang@4943 349 .br
mfang@4943 350 ネットワークのレスポンス時間によってJVMの実行速度が低下するのを避けるため、このファイルの格納先は、常にローカル・ファイル・システムにしてください。ファイル・システムが満杯になると、ファイルは切り詰められ、そのファイルにデータが引続き記録されます。このオプションと\f2\-verbose:gc\fPの両方がコマンドラインに指定されている場合は、このオプションが優先されます。
mfang@4943 351 .TP 3
mfang@4943 352 \-Xmnsizeまたは\-XX:NewSize
mfang@4943 353 若い世代(ナーサリ)のサイズを設定します。
tbell@1178 354 .TP 3
tbell@1178 355 \-Xmsn
mfang@4943 356 メモリー割当プールの初期サイズをバイト数で指定します。指定する値は、1MBより大きい1024の倍数にする必要があります。キロバイトを指定するには、文字\f2k\fPまたは\f2K\fPを付けます。メガバイトを指定するには、文字\f2m\fPまたは\f2M\fPを付けます。デフォルト値は、実行時にシステム構成に基づいて選択されます。詳細は、
ogino@4033 357 .na
ogino@4033 358 \f2HotSpot Ergonomics\fP @
ogino@4033 359 .fi
mfang@5193 360 http://docs.oracle.com/javase/7/docs/technotes/guides/vm/gc\-ergonomics.htmlを参照してください。
mfang@4943 361 .br
mfang@4943 362 .br
ogino@4033 363 例:
duke@0 364 .nf
tbell@1178 365 \f3
tbell@1178 366 .fl
tbell@1178 367 \-Xms6291456
tbell@1178 368 .fl
tbell@1178 369 \-Xms6144k
tbell@1178 370 .fl
tbell@1178 371 \-Xms6m
tbell@1178 372 .fl
ogino@4033 373
tbell@1178 374 .fl
tbell@1178 375 \fP
duke@0 376 .fi
duke@0 377 .TP 3
tbell@1178 378 \-Xmxn
mfang@4943 379 メモリー割当プールの最大サイズをバイト数で指定します。指定する値は、2MBより大きい1024の倍数にする必要があります。キロバイトを指定するには、文字\f2k\fPまたは\f2K\fPを付けます。メガバイトを指定するには、文字\f2m\fPまたは\f2M\fPを付けます。デフォルト値は、実行時にシステム構成に基づいて選択されます。詳細は、
ogino@4033 380 .na
ogino@4033 381 \f2HotSpot Ergonomics\fP @
ogino@4033 382 .fi
mfang@5193 383 http://docs.oracle.com/javase/7/docs/technotes/guides/vm/gc\-ergonomics.htmlを参照してください。
mfang@4943 384 .br
duke@0 385 .br
ogino@4033 386 例:
duke@0 387 .nf
tbell@1178 388 \f3
tbell@1178 389 .fl
tbell@1178 390 \-Xmx83886080
tbell@1178 391 .fl
tbell@1178 392 \-Xmx81920k
tbell@1178 393 .fl
tbell@1178 394 \-Xmx80m
tbell@1178 395 .fl
ogino@4033 396
tbell@1178 397 .fl
tbell@1178 398 \fP
duke@0 399 .fi
mfang@4943 400 Solaris 7およびSolaris 8 SPARCプラットフォームの場合のこの値の上限は、およそ4000mからオーバーヘッドの量を引いたものです。Solaris 2.6およびx86プラットフォームの場合の上限は、およそ2000mからオーバーヘッドの量を引いたものです。Linuxプラットフォームの場合の上限は、およそ2000mからオーバーヘッドの量を引いたものです。
tbell@1178 401 .TP 3
tbell@1178 402 \-Xprof
mfang@4943 403 実行中のプログラムのプロファイルを生成し、プロファイル・データを標準出力に出力します。このオプションは、プログラム開発用のユーティリティとして提供されています。本番稼働システムでの使用を目的としたものではありません。
duke@0 404 .TP 3
tbell@1178 405 \-Xrs
mfang@4943 406 Java仮想マシン(JVM)によるオペレーティング・システム・シグナルの使用を減らします。
mfang@4943 407 .br
mfang@4943 408 .br
mfang@4943 409 以前のリリースでは、Javaアプリケーションを秩序正しくシャットダウンするためのシャットダウン・フック機能が追加されました。この機能により、JVMが突然終了した場合でも、シャットダウン時にユーザー・クリーン・アップコード(データベース接続のクローズなど)を実行できるようになりました。
mfang@4943 410 .br
mfang@4943 411 .br
mfang@4943 412 Sun社のJVMは、シグナルをキャッチすることによって、JVMの異常終了のためのシャットダウン・フックを実装します。JVMは、SIGHUP、SIGINTおよびSIGTERMを使用して、シャットダウン・フックの実行を開始します。
mfang@4943 413 .br
mfang@4943 414 .br
mfang@4943 415 JVMは、デバッグの目的でスレッド・スタックをダンプするという、1.2より前からある機能を実現するためにも、同様の機構を使用します。Sun社のJVMは、スレッド・ダンプを実行するためにSIGQUITを使用します。
mfang@4943 416 .br
mfang@4943 417 .br
mfang@4943 418 JVMを埋め込んでいるアプリケーションがSIGINTやSIGTERMなどのシグナルを頻繁にトラップする必要があると、JVMそのもののシグナル・ハンドラの処理に支障が出る可能性があります。\f3\-Xrs\fPコマンドライン・オプションを使用すると、この問題に対処できます。Sun社のJVMに対して\f3\-Xrs\fPを使用すると、SIGINT、SIGTERM、SIGHUPおよびSIGQUITに対するシグナル・マスクはJVMによって変更されず、これらのシグナルに対するシグナル・ハンドラはインストールされません。
mfang@4943 419 .br
mfang@4943 420 .br
mfang@4943 421 \f3\-Xrs\fPを指定した場合、次の2つの影響があります。
duke@0 422 .RS 3
duke@0 423 .TP 2
tbell@1178 424 o
mfang@4943 425 SIGQUITによるスレッド・ダンプは使用できません。
duke@0 426 .TP 2
tbell@1178 427 o
mfang@4943 428 シャットダウン・フック処理の実行は、JVMが終了しようとしている時点でSystem.exit()を呼び出すなどして、ユーザー・コード側で行う必要があります。
tbell@1178 429 .RE
tbell@1178 430 .TP 3
tbell@1178 431 \-Xssn
mfang@4943 432 スレッドのスタック・サイズを設定します。
mfang@4943 433 .TP 3
mfang@4943 434 \-XX:AllocationPrefetchStyle=n
mfang@4943 435 割当中に使用されるプリフェッチのスタイルを設定します。デフォルトは2です。
mfang@4943 436 .br
mfang@4943 437 .TP 3
mfang@4943 438 \-XX:+AggressiveOpts
mfang@4943 439 積極的な最適化を有効にします。
mfang@4943 440 .br
mfang@4943 441 .TP 3
mfang@4943 442 \-XX:+|\-DisableAttachMechanism
mfang@4943 443 このオプションは、ツール(\f2jmap\fPおよび\f2jconsole\fPなど)がJVMに接続できるかどうかを指定します。デフォルトでは、この機能は無効になっています。つまり、接続は有効です。使用例:
mfang@4943 444 .nf
mfang@4943 445 \f3
mfang@4943 446 .fl
mfang@4943 447 java \-XX:+DisableAttachMechanism
mfang@4943 448 .fl
mfang@4943 449 \fP
mfang@4943 450 .fi
mfang@4943 451 .TP 3
mfang@4943 452 \-XXLargePageSizeInBytes=n
mfang@4943 453 このオプションは、ラージ・ページの最大サイズを指定します。
mfang@4943 454 .TP 3
mfang@4943 455 \-XX:MaxGCPauseMillis=n
mfang@4943 456 最大GC休止時間のターゲットを設定します。
mfang@4943 457 .br
mfang@5193 458 これはソフト・ゴールのため、JVMは実現のために最善の努力をします。デフォルトで設定されている最大値はありません。
mfang@4943 459 .TP 3
mfang@4943 460 \-XX:NewSize
mfang@4943 461 若い世代(ナーサリ)のサイズを設定します。\f3\-Xmn\fP\f4size\fPと同じです。
mfang@4943 462 .TP 3
mfang@4943 463 \-XX:ParallelGCThreads=n
mfang@4943 464 パラレル・コレクタ内のGCスレッドの数を設定します。
mfang@4943 465 .br
mfang@4943 466 .TP 3
mfang@4943 467 \-XX:PredictedClassLoadCount=n
mfang@4943 468 このオプションでは、最初に\f3UnlockExperimentalVMOptions\fPフラグを設定する必要があります。アプリケーションが多数のクラスをロードする場合で、特に\f3class.forName()\fPが頻繁に使用される場合は\f3PredictedClassLoadCount\fPフラグを使用します。推奨値は、\f3\-verbose:class\fPからの出力に示されているロード済クラスの数です。
mfang@4943 469 .br
mfang@4943 470 使用例:
mfang@4943 471 .nf
mfang@4943 472 \f3
mfang@4943 473 .fl
mfang@4943 474 java \-XX:+UnlockExperimentalVMOptions \-XX:PredictedClassLoadCount=60013
mfang@4943 475 .fl
mfang@4943 476 \fP
mfang@4943 477 .fi
mfang@4943 478 .TP 3
mfang@4943 479 \-XX:+PrintCompilation
mfang@4943 480 HotSpotダイナミック・ランタイム・コンパイラからの詳細出力を印刷します。
mfang@4943 481 .br
mfang@4943 482 .TP 3
mfang@4943 483 \-XX:+PrintGCDetails \-XX:+PrintGCTimeStamps
mfang@4943 484 ガベージ・コレクション出力をタイムスタンプとともに印刷します。
mfang@4943 485 .br
mfang@4943 486 .TP 3
mfang@4943 487 \-XX:SoftRefLRUPolicyMSPerMB=0
mfang@4943 488 このフラグは、ソフトウェア参照の積極的処理を有効にします。このフラグは、HotSpot GCがソフトウェア参照カウントの影響を受ける場合に使用します。
mfang@4943 489 .TP 3
mfang@4943 490 \-XX:TLABSize=n
mfang@4943 491 スレッド・ローカル割当バッファ(TLAB)がHotSpotでデフォルトで有効になっています。HotSpotでは、TLABのサイズを割当パターンに基づいて自動的に決定します。\f3\-XX:TLABSize\fPオプションでTLABのサイズを微調整できます。
mfang@4943 492 .br
mfang@4943 493 .TP 3
mfang@4943 494 \-XX:+UnlockCommercialFeatures
mfang@4943 495 このフラグは、商用機能の使用を能動的にロック解除する場合に使用します。商用機能とは、
mfang@4943 496 .na
mfang@4943 497 \f2Oracle Java SE Products Webページ\fP @
mfang@4943 498 .fi
mfang@4943 499 http://www.oracle.com/technetwork/java/javase/terms/products/index.htmlで規定される製品"Oracle Java SE Advanced"または"Oracle Java SE Suite"です。
mfang@4943 500 .br
mfang@4943 501 このフラグが指定されていない場合、デフォルトはJava仮想マシンを使用可能な商用機能なしで実行することです。いったん商用機能を有効にすると、実行時にその使用を無効にすることはできません。
tbell@1178 502 .TP 3
tbell@1178 503 \-XX:+UseAltSigs
mfang@4943 504 VMではデフォルトで\f2SIGUSR1\fPおよび\f2SIGUSR2\fPを使用しますが、\f2SIGUSR1\fPおよび\f2SIGUSR2\fPをシグナル連鎖するアプリケーションと競合する場合があります。\f2\-XX:+UseAltSigs\fPオプションは、VMにデフォルトとして\f2SIGUSR1\fPと\f2SIGUSR2\fP以外のシグナルを使用させます。
mfang@4943 505 .TP 3
mfang@4943 506 \-XX:+|\-UseCompressedOops
mfang@4943 507 64ビットJVMで圧縮参照を有効にします。
mfang@4943 508 .br
mfang@4943 509 このオプションはデフォルトでtrueです。
mfang@4943 510 .br
mfang@4943 511 .TP 3
mfang@4943 512 \-XX:+UseConcMarkSweepGCまたは\-XX:+UseG1GC
mfang@4943 513 これらのフラグはConcurrent Mark Sweep (CMS)またはG1ガベージ・コレクションを有効にします。
mfang@4943 514 .br
mfang@4943 515 .TP 3
mfang@4943 516 \-XX:+|\-UseLargePages
mfang@4943 517 このフラグは、ラージ・ページ・サポートを有効にする場合に使用します。ラージ・ページは、Solarisではデフォルトで有効になっています。
mfang@4943 518 .br
mfang@4943 519 .TP 3
mfang@4943 520 \-XX:+UseParallelOldGC
mfang@4943 521 パラレル・ガベージ・コレクタを有効にします。これはスループットおよび平均レスポンス時間に対して最適化されます。
mfang@4943 522 .br
mfang@5193 523 .RE
mfang@5193 524
duke@0 525 .LP
mfang@5193 526 .SH "注意"
mfang@5193 527 .LP
mfang@5193 528 .LP
mfang@5193 529 \f3\-version:\fP\f2release\fPコマンドライン・オプションでは、リリース指定の複雑さに制限はありません。ただし、可能なリリース指定の限られたサブセットのみが適切なサウンド・ポリシーを表現でき、それらのみが完全にサポートされます。それらのポリシーを次に示します。
mfang@5193 530 .LP
duke@0 531 .RS 3
duke@0 532 .TP 3
duke@0 533 1.
ogino@4033 534 任意のバージョン。これは、このオプションを使用しないことで表現できます。
duke@0 535 .TP 3
duke@0 536 2.
mfang@4943 537 ある特定のバージョンIDよりも大きい任意のバージョン。次に例を示します。
duke@0 538 .nf
duke@0 539 \f3
duke@0 540 .fl
ogino@4033 541 "1.6.0_10+"
duke@0 542 .fl
duke@0 543 \fP
duke@0 544 .fi
mfang@4943 545 この場合、\f21.6.0_10\fPよりも大きい任意のバージョンが使用されます。これは、指定されたバージョンで特定のインタフェースが導入された(あるいはそのバグが修正された)場合に便利です。
duke@0 546 .TP 3
duke@0 547 3.
mfang@4943 548 ある特定のバージョンIDよりも大きいバージョンで、そのリリース・ファミリの上限によって制限されるもの。次に例を示します。
tbell@1178 549 .nf
tbell@1178 550 \f3
tbell@1178 551 .fl
ogino@4033 552 "1.6.0_10+&1.6*"
tbell@1178 553 .fl
tbell@1178 554 \fP
tbell@1178 555 .fi
duke@0 556 .TP 3
duke@0 557 4.
mfang@4943 558 上の項目2と項目3の「OR」式。次に例を示します。
duke@0 559 .nf
duke@0 560 \f3
duke@0 561 .fl
ogino@4033 562 "1.6.0_10+&1.6* 1.7+"
duke@0 563 .fl
duke@0 564 \fP
duke@0 565 .fi
mfang@4943 566 これは項目2に似ていますが、ある変更が特定のリリース(1.7)で導入されたが、その同じ変更が以前のリリースのアップデートでも利用可能になった、という場合に便利です。
duke@0 567 .RE
mfang@5193 568
duke@0 569 .LP
mfang@5193 570 .SH "パフォーマンス・チューニングの例"
mfang@5193 571 .LP
mfang@5193 572 .LP
mfang@5193 573 スループットまたはレスポンス時間の高速化のどちらかを最適化するための、試験的なチューニング・フラグの使用例を次に示します。
mfang@5193 574 .LP
mfang@5193 575 .SS
mfang@5193 576 スループットを向上するためのチューニング
mfang@5193 577 .LP
mfang@5193 578 .nf
mfang@5193 579 \f3
mfang@5193 580 .fl
mfang@5193 581 java \-d64 \-server \-XX:+AggressiveOpts \-XX:+UseLargePages \-Xmn10g \-Xms26g \-Xmx26g
mfang@5193 582 .fl
mfang@5193 583 \fP
mfang@5193 584 .fi
mfang@5193 585
mfang@5193 586 .LP
mfang@5193 587 .SS
mfang@5193 588 レスポンス時間を速くするためのチューニング
mfang@5193 589 .LP
mfang@5193 590 .nf
mfang@5193 591 \f3
mfang@5193 592 .fl
mfang@5193 593 java \-d64 \-XX:+UseG1GC \-Xms26g Xmx26g \-XX:MaxGCPauseMillis=500 \-XX:+PrintGCTimeStamps
mfang@5193 594 .fl
mfang@5193 595 \fP
mfang@5193 596 .fi
mfang@5193 597
mfang@5193 598 .LP
mfang@5193 599 .SH "終了ステータス"
mfang@5193 600 .LP
mfang@5193 601 .LP
mfang@5193 602 一般に、次の終了値が起動ツールから返されるのは通常、起動元が不正な引数で呼び出されたか、深刻なエラーが発生したか、あるいはJava仮想マシンから例外がスローされた場合です。ただしJavaアプリケーションは、API呼出し\f2System.exit(exitValue)\fPを使用して任意の値を返すことを選択することもできます。
mfang@5193 603 .LP
ogino@4033 604 .RS 3
ogino@4033 605 .TP 2
ogino@4033 606 o
ogino@4033 607 \f20\fP: 正常終了
ogino@4033 608 .TP 2
ogino@4033 609 o
mfang@4943 610 \f2>0\fP: エラー発生
ogino@4033 611 .RE
mfang@5193 612
mfang@5193 613 .LP
mfang@5193 614 .SH "関連項目"
mfang@5193 615 .LP
duke@0 616 .RS 3
duke@0 617 .TP 2
tbell@1178 618 o
tbell@1178 619 javac(1)
duke@0 620 .TP 2
tbell@1178 621 o
tbell@1178 622 jdb(1)
duke@0 623 .TP 2
tbell@1178 624 o
tbell@1178 625 javah(1)
duke@0 626 .TP 2
tbell@1178 627 o
tbell@1178 628 jar(1)
duke@0 629 .TP 2
tbell@1178 630 o
tbell@1178 631 .na
mfang@4943 632 \f2Java拡張機能フレームワーク\fP @
duke@0 633 .fi
mfang@5193 634 http://docs.oracle.com/javase/7/docs/technotes/guides/extensions/index.html
tbell@1178 635 .TP 2
tbell@1178 636 o
duke@0 637 .na
mfang@4943 638 \f2セキュリティ\fP @
tbell@1178 639 .fi
mfang@5193 640 http://docs.oracle.com/javase/7/docs/technotes/guides/security/index.html
duke@0 641 .TP 2
tbell@1178 642 o
tbell@1178 643 .na
mfang@4943 644 \f2HotSpot VM Specific Options\fP @
duke@0 645 .fi
mfang@5193 646 http://www.oracle.com/technetwork/java/javase/tech/vmoptions\-jsp\-140102.html
mfang@4943 647 .RE
duke@0 648
duke@0 649 .LP
duke@0 650