|
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
、この機能を無効にする場合は false
public void traceMethodCalls(boolean on)
boolean
引数が true
である場合、このメソッドを呼び出すと、Java Virtual Machine は、Java Virtual Machine 内の各メソッドのデバッグ情報をそのメソッド呼び出しの時点で出力します。この情報の書式や、出力先となるファイルなどの出力ストリームは、ホスト環境によって異なります。この機能をサポートしない場合、Java Virtual Machine は要求を無視する場合があります。
引数を false にしてこのメソッドを呼び出すと、Java Virtual Machine は、呼び出しごとのデバッグ情報の出力を停止します。
on
- メソッドのトレースを行う場合は true
、この機能を無効にする場合は false
public 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 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |