|
Java プラットフォーム 1.2 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object | +--java.lang.Runtime
Java アプリケーションはすべて、Runtime クラスの単一のインスタンスを持ちます。このクラスは、アプリケーションとアプリケーション実行環境とのインタフェースになります。現在の実行時オブジェクトは、getRuntime メソッドにより取得できます。
アプリケーションは、自分の Runtime クラスのインスタンスを生成することはできません。
getRuntime()| メソッドの概要 | |
Process |
exec(String command)
指定された文字列コマンドを、独立したプロセスで実行します。 |
Process |
exec(String[] cmdarray)
指定されたコマンドと引数を、独立したプロセスで実行します。 |
Process |
exec(String[] cmdarray,
String[] envp)
指定されたコマンドと引数を、指定された環境を持つ独立したプロセスで実行します。 |
Process |
exec(String command,
String[] envp)
指定された文字列コマンドを、指定された環境を持つ独立したプロセスで実行します。 |
void |
exit(int status)
現在実行中の Java Virtual Machine を終了します。 |
long |
freeMemory()
システムの空きメモリの量を返します。 |
void |
gc()
ガベージコレクタを実行します。 |
InputStream |
getLocalizedInputStream(InputStream in)
推奨されません。 JDK 1.1 では、ローカルなエンコーディングのバイトストリームを Unicode の文字ストリームに変換するには、 InputStreamReader クラスと BufferedReader クラスを使う方が適切です。 |
OutputStream |
getLocalizedOutputStream(OutputStream out)
推奨されません。 JDK 1.1 では、Unicode の文字ストリームをローカルなエンコードディングのバイトストリームに変換するには、 OutputStreamWriter クラス、BufferedWriter クラス、および PrintWriter クラスを使う方が適切です。 |
static Runtime |
getRuntime()
現在の Java アプリケーションに関連付けられた Runtime オブジェクトを返します。 |
void |
load(String filename)
指定されたファイル名をダイナミックライブラリとしてロードします。 |
void |
loadLibrary(String libname)
指定されたライブラリ名を持つダイナミックライブラリをロードします。 |
void |
runFinalization()
ファイナライズを中断しているオブジェクトの、finalize メソッドを実行します。 |
static void |
runFinalizersOnExit(boolean value)
推奨されません。 このメソッドは、本質的に安全ではありません。他のスレッドが平行して処理している生存中のオブジェクトに対してファイナライザが呼び出されることがあり、この結果、動作が不安定になったり、デッドロックが発生したりします。 |
long |
totalMemory()
Java Virtual Machine のメモリの総容量を返します。 |
void |
traceInstructions(boolean on)
命令のトレースを有効または無効にします。 |
void |
traceMethodCalls(boolean on)
メソッド呼び出しのトレースを有効または無効にします。 |
| クラス java.lang.Object から継承したメソッド |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
| メソッドの詳細 |
public static Runtime getRuntime()
Runtime クラスのメソッドのほとんどはインスタンスメソッドであり、現在のランタイムオブジェクトに対応して呼び出されなければなりません。Runtime オブジェクトpublic void exit(int status)
まず、セキュリティマネージャが存在する場合、その checkExit メソッドがステータスを引数にして呼び出されます。この結果、セキュリティ例外が発生する場合があります。
引数はステータスコードを示します。通例、ゼロ以外のステータスコードは異常終了を表します。
このメソッドを呼び出すには、System.exit(int) メソッドが一般的で便利です。
status - 終了ステータス。通例、ゼロ以外のステータスコードは異常終了checkExit メソッドが、指定されたステータスでの終了を許可しない場合SecurityException,
SecurityManager.checkExit(int)public static void runFinalizersOnExit(boolean value)
セキュリティマネージャが存在する場合、その checkExit メソッドが引数を 0 としてまず呼び出され、終了が確実に許可されるようにします。このとき、SecurityException が発生する可能性もあります。
checkExit メソッドが終了を許可しない場合exit(int),
gc(),
SecurityManager.checkExit(int)
public Process exec(String command)
throws IOException
command 引数はトークンに解析され、その後独立したプロセスとして実行されます。トークンの構文解析は、次の呼び出しで作成される StringTokenizer が実行します。
このとき、文字カテゴリがこれ以上変更されることはありません。このメソッドの機能はnew StringTokenizer(command)
exec(command, null) とまったく同じです。command - 実行するシステムコマンドProcess オブジェクトcheckExec メソッドがサブプロセスの作成を許可しない場合exec(java.lang.String, java.lang.String[]),
SecurityManager.checkExec(java.lang.String)
public Process exec(String command,
String[] envp)
throws IOException
このメソッドは command の文字列をトークンに分解してから、トークンを文字列トークナイザで生成された順番に格納する新しい配列 cmdarray を作成します。その次にメソッドは exec(cmdarray, envp) という呼び出しを実行します。トークンの構文解析は、次の呼び出しで作成される StringTokenizer が実行します。
このとき、文字カテゴリがこれ以上変更されることはありません。new StringTokenizer(command)
command - 実行するシステムコマンドenvp - 文字列の配列。各配列要素は、name=value という形式で環境変数設定を保持するProcess オブジェクトcheckExec メソッドがサブプロセスの作成を許可しない場合exec(java.lang.String[]),
exec(java.lang.String[], java.lang.String[]),
SecurityManager.checkExec(java.lang.String)
public Process exec(String[] cmdarray)
throws IOException
cmdarray 引数で指定したコマンドトークンは、独立したプロセスでコマンドとして実行されます。このメソッドの機能は exec(cmdarray, null) とまったく同じです。
セキュリティマネージャが存在する場合、その checkExec メソッドが、配列 cmdarray の 1 番目の要素を引数として呼び出されます。この結果、セキュリティ例外が発生する可能性があります。
cmdarray - 呼び出すコマンドとその引数を含む配列Process オブジェクトcheckExec メソッドがサブプロセスの作成を許可しない場合exec(java.lang.String[], java.lang.String[]),
SecurityManager.checkExec(java.lang.String)
public Process exec(String[] cmdarray,
String[] envp)
throws IOException
セキュリティマネージャが存在する場合、その checkExec メソッドが、配列 cmdarray の 1 番目の要素を引数として呼び出されます。この結果、セキュリティ例外が発生する可能性があります。
コマンド行のトークンを表す文字列の配列 cmdarray、および環境変数の設定を表す文字列の配列 envp を指定すると、このメソッドは指定されたコマンドを実行するための新しいプロセスを作成します。
cmdarray - 実行するコマンドと引数を含む配列envp - 文字列の配列。配列の各要素は、name=value という形式で環境変数設定を保持するProcess オブジェクトcheckExec メソッドがサブプロセスの作成を許可しない場合cmdarray が null の場合cmdarray が長さが 0 の空の配列である場合Process,
SecurityException,
SecurityManager.checkExec(java.lang.String)public long freeMemory()
gc メソッドを呼び出すと、freeMemory によって返される値が増える場合があります。public long totalMemory()
任意の指定された型のオブジェクトを格納するのに必要なメモリ容量は、実装によって異なります。
public void gc()
gc というメソッド名は「garbage collector」の頭字をとったものです。gc が明示的には呼び出されなかった場合でも、Java Virtual Machine はこの再利用プロセスを必要に応じて自動的に、別のスレッドで実行します。
このメソッドを呼び出すには、System.gc() メソッドが一般的で便利です。
public void runFinalization()
finalize メソッドが実行されていないオブジェクトの finalize メソッドを実行しようとします。メソッド呼び出しから制御が戻された時点で、Java Virtual Machine はすべてのファイナライズを完了するよう最善を尽くしたことになります。
runFinalization メソッドが明示的には呼び出されなかった場合でも、Java Virtual Machine はこのファイナライズプロセスを必要に応じて自動的に、別のスレッドで実行します。
このメソッドを呼び出すには、System.runFinalization() メソッドが一般的で便利です。
Object.finalize()public void traceInstructions(boolean on)
boolean 引数が true である場合、このメソッドを呼び出すと、Java Virtual Machine は、Java Virtual Machine 内の各命令のデバッグ情報を命令の実行の時点で出力します。この情報の書式や、出力先となるファイルなどの出力ストリームは、ホスト環境によって異なります。この機能をサポートしない場合、Java Virtual Machine は要求を無視する場合があります。トレースの出力先はシステムによって異なります。
boolean 引数に false を指定すると、Java Virtual Machine は命令の詳細トレースの出力を停止します。
on - 命令のトレースを行う場合は true、この機能を無効にする場合は falsepublic void traceMethodCalls(boolean on)
boolean 引数が true である場合、このメソッドを呼び出すと、Java Virtual Machine は、Java Virtual Machine 内の各メソッドのデバッグ情報をそのメソッド呼び出しの時点で出力します。この情報の書式や、出力先となるファイルなどの出力ストリームは、ホスト環境によって異なります。この機能をサポートしない場合、Java Virtual Machine は要求を無視する場合があります。
引数を false にしてこのメソッドを呼び出すと、Java Virtual Machine は、呼び出しごとのデバッグ情報の出力を停止します。
on - メソッドのトレースを行う場合は true、この機能を無効にする場合は falsepublic void load(String filename)
java_g から利用すると、「so」の前に「_g」が自動的に挿入されます (Runtime.getRuntime().load("/home/avh/lib/libX11.so");) など)。
まず、セキュリティマネージャが存在する場合、その checkLink メソッドを呼び出します。引数には filename を指定します。この結果、セキュリティ例外がスローされる場合があります。
checkLink メソッドは loadLibrary(String) メソッドと似ていますが、ライブラリ名ではなく一般的なファイル名を引数として指定できるため、ネイティブコードで書かれた任意のファイルがロード可能になります。
このメソッドを呼び出すには、System.load(String) メソッドが一般的で便利です。
filename - ロードするファイルcheckLink メソッドが、指定されたダイナミックライブラリのロードを許可しない場合getRuntime(),
SecurityException,
SecurityManager.checkLink(java.lang.String)public void loadLibrary(String libname)
まず、セキュリティマネージャが存在する場合、その checkLink メソッドを呼び出します。引数には libname を指定します。この結果、セキュリティ例外がスローされる場合があります。
このメソッドを呼び出すには、System.loadLibrary(String) メソッドが一般的で便利です。ネイティブメソッドをクラスの実装で使用する場合、標準的には、ネイティブコードをライブラリファイル (ここでは、説明上 LibFile とする) に入れてから、クラス宣言に次の static 初期化子を入れます。
static { System.loadLibrary("LibFile"); }
こうすれば、クラスがロードおよび初期化される時、ネイティブメソッドに必要なネイティブコードの実装も同じようにロードされます。
同じライブラリ名を指定してこのメソッドを複数回呼び出しても、2 回目以降の呼び出しは無視されます。
libname - ライブラリ名checkLink メソッドが、指定されたダイナミックライブラリのロードを許可しない場合SecurityException,
SecurityManager.checkLink(java.lang.String)public InputStream getLocalizedInputStream(InputStream in)
InputStreamReader クラスと BufferedReader クラスを使う方が適切です。InputStream を受け取り、地域対応されている以外は引数のストリームとまったく同じである InputStream を返します。ローカル文字セットの文字をストリームから読み込む際には、ローカル文字セットから Unicode に自動的に変換します。
引数に指定したストリームが地域対応済みである場合は、そのまま結果として返されます。
InputStream,
BufferedReader.BufferedReader(java.io.Reader),
InputStreamReader.InputStreamReader(java.io.InputStream)public OutputStream getLocalizedOutputStream(OutputStream out)
OutputStreamWriter クラス、BufferedWriter クラス、および PrintWriter クラスを使う方が適切です。OutputStream を受け取り、地域対応されている以外は引数のストリームとまったく同じである OutputStream を返します。Unicode をストリームに書き込む際には、Unicode からローカル文字セットに自動的に変換します。
引数に指定したストリームが地域対応済みである場合は、そのまま結果として返されます。
OutputStream,
BufferedWriter.BufferedWriter(java.io.Writer),
OutputStreamWriter.OutputStreamWriter(java.io.OutputStream),
PrintWriter.PrintWriter(java.io.OutputStream)
|
Java プラットフォーム 1.2 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||