SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG
DONATE


YUM REPOSITORY

 
 

MAN page from Fedora 13 matlab-7.4.0.336-4.i386.rpm

java

Section: User Commands (1)
Updated: 2004 年 6 月 22 日
Index 

名前

java - Java アプリケーション起動プログラム 

形式

java [ options] class [ argument ... ]

java [ options ] -jar file.jar
     [ argument ... ] 

パラメータ

options
コマンド行オプション。
class
呼び出されるクラスの名前。
file.jar
呼び出されるファイルの名前。必ず-jarと同時に使用される。
argument
main関数に渡される引数。
 

機能説明

javaツールは、Java アプリケーションを起動します。javaツールは、Java Runtime Environment を起動したあと、指定されたクラスをロードし、このクラスのmain メソッドを呼び出して Java アプリケーションを起動します。main このメソッドはpublicおよびstaticで宣言され、値を返さず、パラメータとしてString配列を使用できなければなりません。メソッド宣言は次のようにする必要があります。

   public static void main(String args[])

デフォルトでは、オプションではない最初の引数が、呼び出すクラスの名前になります。この名前には、完全指定のクラス名を使用する必要があります。-jarオプションを指定した場合、オプションではない最初の引数は、アプリケーションのクラスファイルとリソースファイルを含む JAR アーカイブの名前になります。この場合、Main-Class マニフェストヘッダで指定されたクラスがスタートアップクラスになります。

Java Runtime は、ブートストラップクラスパス、インストール型拡張機能、およびユーザクラスパスの 3 つの場所から、起動クラスとその他の使用するクラスを探します。

クラス名または JAR ファイル名のあとにあるオプションではない引数は、main 関数に渡されます。

 

オプション

起動コマンドには、現在の実行環境および将来のリリースでサポートされる標準オプションがあります。また、仮想マシンの現在の実装では、非標準オプションをサポートしています。この仕様は将来変更される可能性があります。 

標準オプション

-client
Java HotSpot ClientVMを選択します。詳細は、http://java.sun.com/j2se/1.5.0/docs/guide/vm/server-class.htmlの「Server-Class Machine Detection」を参照してください。
-server
Java HotSpot Server VM を選択します。詳細は、http://java.sun.com/j2se/1.5.0/docs/guide/vm/server-class.htmlの「Server-Class Machine Detection」を参照してください。
-agentlib:libname[=options]
ネイティブのエージェントライブラリlibnameを読み込みします。次に例を示します。

-agentlib:hprof -agentlib:jdwp=help -agentlib:hprof=help 

詳細は、http://java.sun.com/j2se.1.5.0/docs/guide/jvmti/jvmti.htmlの「JVMTI Agent Command Line Options」を参照してください。

-agentpath:pathname[=options]
ネイティブのエージェントライブラリをフルパス名を使用して読み込みします。詳細は、http://java.sun.com/j2se.1.5.0/docs/guide/jvmti/jvmti.htmlの「JVMTI Agent Command Line Options」を参照してください。
-classpath classpath
-cp classpath
クラスファイルを探すディレクトリ、JAR アーカイブ、および ZIP アーカイブのリストを指定します。クラスパスの各エントリはコロン (:) で区切ります。-classpath または -cpを指定すると、これらのオプションの値によって CLASSPATH環境変数の設定は上書きされます。

java-classpathまたは-cpを使う場合、これらのオプションによって指定されるのはユーザクラスのクラスパスだけです。-classpathまたは-cpを使う場合、これらのオプションによって指定されるのは、ユーザクラスとブートストラップクラスの両方のクラスパスです。

-classpath-cp を使用せず、CLASSPATHも設定されていない場合、ユーザクラスパスは現在のディレクトリ (.) になります。

-Dproperty=value
システムプロパティの値を設定します。
-d32
-d64
プログラムを 32 ビット環境で実行するか、64 ビット環境で実行するか (可能な場合) を指定します。

現時点では、64 ビット操作をサポートしているのは Java HotSpot Server VM だけであり、-serverオプションでは、-d64 が暗黙的に使用されます。この仕様は将来変更される場合があります。

-d32-d64のどちらも指定しなかった場合、64 ビット専用システムを除いて、デフォルトでは 32 ビット環境で実行されます。この仕様は将来変更される場合があります。

-enableassertions :<package name>... |:<class name>
-ea :<package name>... |:<class name>
表明を有効にします。デフォルトで、表明は無効です。

引数を指定しなくても、enableassertionsまたは-eaで表明が有効になります。「...」で終わる引数を 1 つ指定すると、スイッチにより、指定したパッケージおよびすべてのサブパッケージ内の表明が有効になります。「...」という引数を指定すると、スイッチにより、現在の作業用ディレクトリ内にある名前のないパッケージ内の表明が有効になります。「...」で終わらない引数を 1 つ指定すると、スイッチにより、指定したクラス内の表明が有効になります。

1 行のコマンドに、これらのスイッチの複数のインスタンスが含まれている場合、クラスを読み込む前に、正しく処理されます。たとえば、パッケージcom.wombat.fruitbat
 (およびすべてのサブパッケージ) 内だけの有効な表明を含んだプログラムを実行する場合、次のコマンドを使用できます。

example% java -ea:com.wombat.fruitbat... <Main Class>

-enableassertionsおよび-eaスイッチは、すべてのクラスローダおよびシステムクラス (クラスローダを持たない) に適用されます。この規則には 1 つ例外があります。引数がない形式の場合、スイッチはシステムに適用されません。これを利用して、簡単に、システムクラスを除くすべてのクラスの表明を有効にすることができます。すべてのシステムクラスの表明を有効にする個別のスイッチも用意されています。-enablesystemassertionsを参照してください。

-disableassertions :<package name>... |:<class name>
-da :<package name>... |:<class name>
表明を無効にします。これはデフォルトです。

引数を指定せずに、disableassertionsまたは-daで表明を無効にします。「...」で終わる引数を 1 つ指定すると、スイッチにより、指定したパッケージおよびすべてのサブパッケージ内の表明が無効になります。「...」という引数を指定すると、スイッチにより、現在の作業用ディレクトリ内にある名前のないパッケージ内の表明が無効になります。「...」で終わらない引数を 1 つ指定すると、スイッチにより、指定したクラス内の表明が無効になります。

パッケージcom.wombat.fruitbatの表明は有効に、クラスcom.wombat.fruitbat.Brickbatの表明は無効にしてプログラムを実行するには、次のコマンドを使用します。

example% java -ea:com.wombat.fruitbat... -da:com.wombat.fruitbat.Brickbat <Main Class>

-disableassertionsおよび-daスイッチは、すべてのクラスローダおよびシステムクラス (クラスローダを持たない) に適用されます。この規則には 1 つ例外があります。引数を持たない形式の場合、スイッチはシステムに適用されません。これを利用して、簡単に、システムクラスを除くすべてのクラス内の表明を有効にすることができます。すべてのシステムクラス内内の表明を有効にする個別のスイッチも用意されています。-disablesystemassertionsを参照してください。

-enablesystemassertions
-esa
すべてのシステムクラスの表明を有効にします (システムクラスのデフォルトの表明ステータスを true に設定します)。

-disablesystemassertions
-dsa
すべてのシステムクラスの表明を無効にします。

-jar
JAR の中にカプセル化されたプログラムを実行します。最初の引数は、起動クラスの名前ではなく、JAR アーカイブファイルの名前になります。このオプションが動作するためには、JAR ファイルのマニフェストに形式 Main-Class:classname の行が入っていなければなりません。classnameは、ユーザのアプリケーションの開始点となる public static void main(String[] args) メソッドを持つクラスを識別します。Jar ファイルと Jar ファイルのマニフェストを扱う方法については、Jar ツールのリファレンスページと「Java Tutorial」の「Jar Files」を参照してください。

このオプションを使用するときは、JAR ファイルがすべてのユーザクラスのソースとなるため、他のユーザクラスパスの設定は無視されます。

java -jar オプションで実行できる JAR ファイルでは、java -jar なしでも実行できるように、実行権限を設定できます。「Java Archive (JAR) ファイル」を参照してください。

-javaagent:jarpath[=options]
Java プログラミング言語エージェントを読み込みします。java.lang.instrument を参照してください。
-verbose
-verbose:class
クラスが読み込まれるたびにクラスに関する情報を表示します。
-verbose:gc
ガベージコレクションイベントが発生するたびに報告します。
-verbose:jni
ネイティブメソッドおよびその他の Java Native Interface (JNI) の使用に関する情報を報告します。
-version
バージョン情報を表示して終了します。
-showversion
バージョン情報を表示して、実行を継続します。
-?
-help
使用法を表示して終了します。
-X
非標準オプションに関する情報を表示して終了します。

 

非標準オプション

-Xint
インタプリタ専用モードで動作します。ネイティブコードへのコンパイルは無効になり、すべてのバイトコードがインタプリタによって実行されます。Java HotSpot VM 適応型コンパイラによって得られるパフォーマンス上の利点は、このモードでは実現されません。
-Xbatch
バックグラウンドコンパイルを無効にします。通常、VM ではメソッドをバックグラウンドタスクとしてコンパイルします。このとき、バックグラウンドコンパイルが終了するまでは、インタプリタモードでメソッドが実行されます。-Xbatch フラグを使用すると、バックグラウンドコンパイルが無効になるため、すべてのメソッドのコンパイルは完了するまでフォアグラウンドのタスクとして処理されます。
-Xdebug
JVMDI のサポートを有効にして開始します。JVMDI は推奨されなくなり、J2SE 5.0 でのデバッグには使用されません。そのためこのオプションはJ2SE 5.0 でのデバッグには必要ありません。
-Xbootclasspath:bootclasspath
ブートクラスファイルを探すため、ディレクトリ、JAR アーカイブ、および ZIP アーカイブをコロンで区切ったリストを指定します。指定されたパスに存在するブートクラスファイルは、JDK に含まれるブートクラスファイルの代わりに使われます。注: rt.jar 内のクラスを上書きする目的でこのオプションを使用するアプリケーションは配備しないでください。配備すると、Java Runtime Environment バイナリコードライセンス違反になることがあります。
-Xbootclasspath/a:path
デフォルトのブートストラップクラスパスに追加するディレクトリ、JARアーカイブ、およびZIPアーカイブのパスをコロンで区切って指定します。
-Xbootclasspath/p:path
デフォルトのブートストラップクラスパスの前に追加するディレクトリ、JARアーカイブ、およびZIPアーカイブのパスをコロンで区切って指定します。注: このオプションを、rt.jar内のクラスをオーバーライドする目的で使用するアプリケーションは指定しないでください。指定すると、Java Runtime Environment バイナリコードライセンス違反になることがあります。
-Xcheck:jni
Java Native Interface (JNI) 機能に対して追加チェックを実行します。特に、Java 仮想マシン (JVM) は JNI 要求を処理する前に、JNI 機能に渡されるパラメータおよび実行環境データを検証します。無効なデータを検出した場合、ネイティブコードに問題があると判断し、Java 仮想マシンは致命的なエラーで終了します。このオプションを使用すると、パフォーマンスが低下します。
-Xfuture
厳密なクラスファイル形式の検査を実行します。下位互換性を維持するため、JDK の Virtual Machine で実行されるデフォルトの形式検査は、JDK ソフトウェアの 1.1.x バージョンで実行される検査よりも厳密ではありません。-Xfutureフラグを使用すると、クラスファイル形式をより仕様に準拠したものにするための、さらに厳密なクラスファイル形式検査が有効になります。開発者が新しいコードを開発する際には、このフラグの使用を推奨します。Java アプリケーション起動ツールの将来のリリースでは、より厳密な検査がデフォルトになるからです。
-Xnoclassgc
クラスのガベージコレクションを無効にします。
-Xincgc
インクリメンタルガベージコレクタを有効にします。インクリメンタルガベージコレクタは、デフォルトでは無効に設定されていますが、有効にするとプログラムの実行中のガベージコレクションによる停止を防ぎます。インクリメンタルガベージコレクタは、場合によってはプログラムと同時に実行されます。同時に実行されている間は、プログラムで利用可能なプロセッサ能力が減少します。
-Xloggc: file
-verbose:gcと同様、各ガベージコレクションイベントでレポートを作成し、このデータをfile に記録します。-verbose:gcにより入手できる情報に加えて、レポートされるイベントには最初のガベージコレクションイベントからの経過時間 (秒数) が付けられます。

ネットワークの遅延による JVM の停止を避けるために、このファイルの記憶域として常にローカルファイルシステムを使用します。このファイルは、フルファイルシステムおよびロギングが不完全なファイルに追加される場合、切り詰められることがあります。コマンド行で-verbose:gcといっしょに指定された場合、このオプションが優先されます。

-Xmsn
メモリ割り当てプールの初期サイズを指定します。指定する値は、1M バイトよりも大きな 1024 の倍数でなければなりません。文字k またはKを付けると K バイト、文字m またはMを付けると M バイトを表します。デフォルト値は 2M バイトです。次に例を示します。

-Xms6291456-Xms6144k-Xms6m
-Xmxn
メモリ割り当てプールの最大サイズをバイト単位で指定します。指定する値は、2M バイトよりも大きな 1024 の倍数でなければなりません。文字k またはKを付けると K バイト、文字m またはMを付けると M バイトを表します。デフォルト値は 64M バイトです。次に例を示します。

-Xmx83886080-Xmx81920k-Xmx80m

Solaris 7 および Solaris 8 SPARC プラットフォームの場合、この値の上限はおよそ
 4000m からオーバーヘッドの量を引いたものであり、Solaris 2.6 および x86 プラットフォームの場合は 2000m からオーバーヘッドの量を引いたものです。Linux プラットフォームの場合の上限は、およそ2000m からオーバーヘッドの量を引いたものです。

-Xprof
実行中のプログラムのプロファイルを生成し、プロファイリングデータを標準出力に送ります。このオプションは、プログラム開発に役立つユーティリティとして提供されているもので、本番稼動システムでの使用を目的としたものではありません。
-Xrunhprof[:help][:suboption=value,...]
CPU、ヒープ、またはモニターのプロファイリングを有効にします。通常、このオプションのあとには、コンマで区切られた「suboption=value」のペアが続きます。サブオプションおよびそれらのデフォルト値の一覧を取得するには、コマンドjava -Xrunhprof:helpを実行します。
-Xrs
Java 仮想マシン (JVM) によるオペレーティングシステムシグナルの利用を減らします。

前回のリリースではシャットダウンフック機能が追加され、Java アプリケーションを順番にシャットダウンできるようになりました。この機能により、JVM が異常終了した場合でも、シャットダウン時にクリーンアップコード (データベース接続を閉じる、など) を実行できるようになりました。

Sun の JVM は、シグナルをキャッチして異常な JVM 終了に対するシャットダウンフックを実装します。JVM は、SIGHUP、SIGINT、SIGTERM を使用してシャットダウンフックの実行を開始します。

JVM では、同様の機構を使用して、1.2 以前のデバッグ用のスレッドスタックダンプ機能を実装しています。Sun の JVM は、SIGQUIT を使用してスレッドダンプを実行します。

JVM を組み込んだアプリケーションは、SIGINT や SIGTERM のようなシグナルを頻繁にトラップする必要があります。このような場合、JVM のシグナルハンドラとの間に干渉が発生する可能性があります。このような干渉を避けるために、-Xrs コマンド行オプションを使用できます。Sun の JVM で -Xrs が使用されると、SIGINT、SIGTERM、SIGHUP、および SIGQUIT のシグナルマスクは JVM によって変更されず、これらのシグナルのシグナルハンドラはインストールされません。

-Xrs を指定することによって、影響が 2 つあります。

* SIGQUIT スレッドダンプは使用できません。
* シャットダウンフックの実行は、ユーザコードが受け持ちます。
たとえば JVM が終了するときに System.exit() を呼び出します。
-Xssn
スレッドスタックサイズを設定します。/TP-XX:+UseAltSigsVM ではデフォルトで SIGUSR1 および SIGUSR2 を使用しますが、SIGUSR1 および SIGUSR2 をシグナル連鎖するアプリケーションと競合する場合があります。-XX:+UseAltSigs オプションは、VM にデフォルトとしてSIGUSR1 と SIGUSR2 以外のシグナルを使用させます。
 

関連項目

javac(1),jdb(1),javah(1),jar(1),

次については、java.sun.comを参照または検索してください。

The Java Extensions Framework @
http://java.sun.com/j2se/1.5.0/docs/guide/extensions/index.html
Security Features @
http://java.sun.com/j2se/1.5.0/docs/guide/security/index.html


 

Index

名前
形式
パラメータ
機能説明
オプション
標準オプション
非標準オプション
関連項目

This document was created byman2html,using the manual pages.