public final class System extends Object
Systemクラスには有用なクラス・フィールドおよびメソッドがあります。 インスタンス化することはできません。 Systemクラスによって得られる機能には、標準入力、標準出力、およびエラー出力ストリーム、外部的に定義されたプロパティおよび環境変数へのアクセス、ファイルおよびライブラリのローディング方法、配列の一部をすばやくコピーするユーティリティ・メソッドがあります。 - 導入されたバージョン:
- 1.0
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 static interfaceSystem.LoggerSystem.Loggerインスタンスは、LoggerFinderが使用する基礎となるロギング・フレームワークにルーティングされるログ・メッセージを記録します。static classSystem.LoggerFinderLoggerFinderサービスは、使用する基礎となるフレームワークへのロガーの作成、管理、および構成を担当します。 -
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static PrintStreamerr「標準」エラー出力ストリームです。static InputStreamin「標準」入力ストリームです。static PrintStreamout「標準」出力ストリームです。 -
メソッドのサマリー
修飾子と型 メソッド 説明 static voidarraycopy(Object src, int srcPos, Object dest, int destPos, int length)指定位置で開始する指定ソース配列から、転送先配列の指定位置に配列をコピーします。static StringclearProperty(String key)指定されたキーによって示されたシステム・プロパティを削除します。static Consoleconsole()現在のJava仮想マシンに関連した一意のConsoleオブジェクトがある場合に、それを返します。static longcurrentTimeMillis()ミリ秒で表される現在の時間を返します。static voidexit(int status)現在実行しているJava仮想マシンを終了します。static voidgc()Java Virtual Machineでガベージ・コレクタを実行します。static Map<String,String>getenv()現在のシステム環境の変更できない文字列マップのビューを返します。static Stringgetenv(String name)指定された環境変数の値を取得します。static System.LoggergetLogger(String name)呼び出し元が使用するLoggerのインスタンスを返します。static System.LoggergetLogger(String name, ResourceBundle bundle)呼び出し側が使用するLoggerのローカライズ可能なインスタンスを返します。static PropertiesgetProperties()現在のシステム・プロパティを決定します。static StringgetProperty(String key)指定されたキーによって示されるシステム・プロパティを取得します。static StringgetProperty(String key, String def)指定されたキーによって示されるシステム・プロパティを取得します。static SecurityManagergetSecurityManager()システム全体のセキュリティ・マネージャを取得します。static intidentityHashCode(Object x)指定されたオブジェクトのクラスがhashCode()をオーバーライドしているかどうかに関係なく、デフォルトのhashCode()メソッドにより返されるものと同じ、指定されたオブジェクトのハッシュ・コードを返します。static ChannelinheritedChannel()Java仮想マシンを作成したエンティティから継承されたチャネルを返します。static StringlineSeparator()システムに依存する行区切り文字列を返します。static voidload(String filename)filename引数によって指定されたネイティブ・ライブラリをロードします。static voidloadLibrary(String libname)引数libnameによって指定されるネイティブ・ライブラリをロードします。static StringmapLibraryName(String libname)ライブラリ名を、ネイティブ・ライブラリを表すプラットフォーム依存の文字列にマッピングします。static longnanoTime()実行中のJava仮想マシンの高精度時間ソースの現在値を、ナノ秒の単位で返します。static voidrunFinalization()ファイナライズを保留しているオブジェクトのファイナライズ・メソッドを実行します。static voidsetErr(PrintStream err)「標準」エラー出力ストリームを割り当てし直します。static voidsetIn(InputStream in)「標準」入力ストリームを割り当てし直します。static voidsetOut(PrintStream out)「標準」出力ストリームを割り当てし直します。static voidsetProperties(Properties props)システム・プロパティを引数Propertiesに設定します。static StringsetProperty(String key, String value)指定されたキーによって示されるシステム・プロパティを設定します。static voidsetSecurityManager(SecurityManager sm)システム全体のセキュリティ・マネージャを設定します。
-
フィールド詳細
-
in
public static final InputStream in「標準」入力ストリームです。 このストリームはすでに開いていて、入力データの供給が可能です。 通常、このストリームはキーボード入力、またはホスト環境やユーザーによって指定されるその他の入力ソースと一致しています。 -
out
public static final PrintStream out「標準」出力ストリームです。 このストリームはすでに開いていて、出力データの受け取りが可能です。 通常、このストリームはディスプレイ出力、またはホスト環境やユーザーによって指定される出力先の出力と一致します。単純なスタンドアロンのJavaアプリケーションにおいて、出力データの行を書き込む一般的な方法は以下のとおりです。
System.out.println(data)クラス
PrintStreamのprintlnメソッドを参照してください。- 関連項目:
PrintStream.println(),PrintStream.println(boolean),PrintStream.println(char),PrintStream.println(char[]),PrintStream.println(double),PrintStream.println(float),PrintStream.println(int),PrintStream.println(long),PrintStream.println(java.lang.Object),PrintStream.println(java.lang.String)
-
err
public static final PrintStream err「標準」エラー出力ストリームです。 このストリームはすでに開いていて、出力データの受け取りが可能です。通常、このストリームはディスプレイ出力、またはホスト環境やユーザーによって指定される出力先の出力と一致します。 主な出力ストリームである変数
out値が、一般的に継続的には監視されていないファイルまたはその他の転送先にリダイレクトしている場合でも、ユーザーに注意を促すためのエラー・メッセージまたはその他の情報を表示するために、通例この出力ストリームが使用されます。「標準」入力ストリームを割り当てし直します。
-
-
メソッドの詳細
-
setIn
public static void setIn(InputStream in)「標準」入力ストリームを割り当てし直します。 セキュリティ・マネージャが存在する場合は、標準入力ストリームを割り当てし直してよいかどうかを確認するために、RuntimePermission("setIO")アクセス権を使ってcheckPermissionメソッドが呼び出されます。- パラメータ:
in- 新しい標準入力ストリーム。- 例外:
SecurityException- セキュリティ・マネージャが存在し、そのcheckPermissionメソッドが標準入力ストリームの再割り当てを許可しない場合。- 導入されたバージョン:
- 1.1
- 関連項目:
SecurityManager.checkPermission(java.security.Permission),RuntimePermission
-
setOut
public static void setOut(PrintStream out)「標準」出力ストリームを割り当てし直します。 セキュリティ・マネージャが存在する場合は、標準出力ストリームを割り当てし直してよいかどうかを確認するために、RuntimePermission("setIO")アクセス権を使ってcheckPermissionメソッドが呼び出されます。- パラメータ:
out- 新しい標準出力ストリーム- 例外:
SecurityException- セキュリティ・マネージャが存在し、そのcheckPermissionメソッドが標準出力ストリームの再割り当てを許可しない場合。- 導入されたバージョン:
- 1.1
- 関連項目:
SecurityManager.checkPermission(java.security.Permission),RuntimePermission
-
setErr
public static void setErr(PrintStream err)「標準」エラー出力ストリームを割り当てし直します。 セキュリティ・マネージャが存在する場合は、標準エラー出力ストリームを割り当てし直してよいかどうかを確認するために、RuntimePermission("setIO")アクセス権を使ってcheckPermissionメソッドが呼び出されます。- パラメータ:
err- 新しい標準エラー出力ストリーム。- 例外:
SecurityException- セキュリティ・マネージャが存在し、そのcheckPermissionメソッドが標準エラー出力ストリームの再割り当てを許可しない場合。- 導入されたバージョン:
- 1.1
- 関連項目:
SecurityManager.checkPermission(java.security.Permission),RuntimePermission
-
console
public static Console console()現在のJava仮想マシンに関連した一意のConsoleオブジェクトがある場合に、それを返します。- 戻り値:
- システム・コンソール(存在する場合)。そうでない場合は
null。 - 導入されたバージョン:
- 1.6
-
inheritedChannel
public static Channel inheritedChannel() throws IOExceptionJava仮想マシンを作成したエンティティから継承されたチャネルを返します。 このメソッドから返されるチャネルは、システム全体のデフォルトのSelectorProviderオブジェクトのinheritedChannelメソッドを呼び出して取得されたものです。このメソッドは、
inheritedChannelで説明したネットワーク指向のチャネルに加え、将来的にほかの種類のチャネルも返すようになる予定です。- 戻り値:
- 継承されたチャネル(存在する場合)。それ以外の場合は
null。 - 例外:
IOException- 入出力エラーが発生した場合SecurityException- セキュリティ・マネージャがインストールされていて、チャネルへのアクセスが許可されていない場合。- 導入されたバージョン:
- 1.5
-
setSecurityManager
public static void setSecurityManager(SecurityManager sm)システム全体のセキュリティ・マネージャを設定します。 セキュリティ・マネージャがすでにインストールされている場合、このメソッドは、最初にRuntimePermission("setSecurityManager")アクセス権を使ってセキュリティ・マネージャのcheckPermissionメソッドを呼び出すことにより、既存のセキュリティ・マネージャを置換してもよいかどうかを確認します。 その結果、SecurityExceptionがスローされることがあります。そうでない場合は、引数を現在のセキュリティ・マネージャに設定します。 引数が
nullであり、セキュリティ・マネージャが設定されていない場合、メソッドは何も行わずに復帰します。- 実装上の注意:
- JDK実装では、Java仮想マシンがシステム・プロパティ
java.security.managerが特別なトークン"disallow"に設定されている場合は、setSecurityManagerメソッドを使用してセキュリティ・マネージャを設定することができません。 - パラメータ:
sm- セキュリティ・マネージャまたはnull- 例外:
SecurityException- セキュリティ・マネージャがすでに設定されており、そのcheckPermissionメソッドがセキュリティ・マネージャの置換を許可しない場合UnsupportedOperationException-smがnull以外で、セキュリティ・マネージャを動的に設定できない場合- 関連項目:
getSecurityManager(),SecurityManager.checkPermission(java.security.Permission),RuntimePermission
-
getSecurityManager
public static SecurityManager getSecurityManager()システム全体のセキュリティ・マネージャを取得します。- 戻り値:
- セキュリティ・マネージャがすでに現在のアプリケーションに設定されている場合は、セキュリティ・マネージャ。そうでない場合は
null。 - 関連項目:
setSecurityManager(java.lang.SecurityManager)
-
currentTimeMillis
public static long currentTimeMillis()ミリ秒で表される現在の時間を返します。 戻り値の時間単位はミリ秒ですが、値の粒度は基本となるオペレーティング・システムによって異なり、単位がより大きくなる場合があります。 たとえば、多くのオペレーティング・システムでは、時間を10ミリ秒の単位で計測します。「コンピュータ時間」と協定世界時(UTC)との間に発生する微妙な相違については、クラス
Dateの説明を参照してください。- 戻り値:
- ミリ秒で測定した、現在時刻と協定世界時のUTC 1970年1月1日深夜零時との差。
- 関連項目:
Date
-
nanoTime
public static long nanoTime()実行中のJava仮想マシンの高精度時間ソースの現在値を、ナノ秒の単位で返します。 このメソッドは、経過時間を測定するためだけに使用できます。システムのほかの概念や壁時計の時刻に関連していません。 返される値は、固定された任意の基準時間からの経過時間(ナノ秒)です。将来的に、値が負の数になる可能性があります。 あるJava仮想マシンのインスタンス内でのこのメソッドのすべての呼出しでは、同じ情報源が使用されます。ほかの仮想マシン・インスタンスでは、おそらく異なる情報源が使用されます。このメソッドが提供する精度はナノ秒ですが、その解像度(つまり値の変更頻度)は必ずしもナノ秒ではありません。その解像度は少なくとも
currentTimeMillis()と同じである、という以外の保証は一切ありません。約292年(263ナノ秒)を超える連続した呼出しの差異では、数値のオーバーフローにより経過時間が正しく計算されません。
このメソッドから返される値に意味があるのは、Java仮想マシンの同じインスタンス内で得られたそうした2つの値の差を計算する場合だけです。
たとえば、一部のコードで実行にかかる時間を測定するには、次のようになります。
long startTime = System.nanoTime(); // ... the code being measured ... long elapsedNanos = System.nanoTime() - startTime;経過時間とタイムアウトを比較するには、次のコマンドを使用
次の行は使用しないでください。if (System.nanoTime() - startTime >= timeoutNanos) ...
数値オーバーフローの可能性があるためです。if (System.nanoTime() >= startTime + timeoutNanos) ...- 戻り値:
- 実行中のJava仮想マシンの高精度時間ソースの現在値(ナノ秒の単位)
- 導入されたバージョン:
- 1.5
-
arraycopy
指定位置で開始する指定ソース配列から、転送先配列の指定位置に配列をコピーします。 配列要素のサブシーケンスを、srcによって参照されるソース配列からdestによって参照される転送先配列にコピーします。 コピーされる要素の数は、引数lengthと一致します。 ソース配列のsrcPosからsrcPos+length-1までの位置にある要素を、転送先の配列のdestPosからdestPos+length-1までの位置にそれぞれコピーします。引数
srcおよびdestが同じ配列オブジェクトである場合、たとえば、まずsrcPosからsrcPos+length-1までの位置にある要素をlengthの数の要素を持つ一時配列にコピーし、次に一時配列の内容を転送先配列のdestPosからdestPos+length-1にコピーします。destがnullの場合、NullPointerExceptionがスローされます。srcがnullの場合、NullPointerExceptionがスローされ、転送先の配列は変更されません。次のどれかがtrueである場合は、
ArrayStoreExceptionをスローし、転送先を修正しません。- 引数
srcが、配列でないオブジェクトを参照する。 - 引数
destが、配列でないオブジェクトを参照する。 - 引数
srcおよび引数destが、要素の種類が異なるプリミティブ型の配列である。 - 引数
srcがプリミティブ要素型の配列であり、引数destが参照要素型の配列である。 - 引数
srcが参照要素型の配列であり、引数destがプリミティブ要素型の配列である。
次のどれかがtrueである場合は、
IndexOutOfBoundsExceptionをスローし、転送先を修正しません。- 引数
srcPosが負の値である。 - 引数
destPosが負の値である。 - 引数
lengthが負の値である。 srcPos+lengthがsrc.length(ソース配列の長さ)より大きい場合。destPos+lengthがdest.length(転送先配列の長さ)より大きい場合。
そうでない場合、
srcPosからsrcPos+length-1までの位置にあるソース配列の実際の要素が、代入変換によって転送先配列の要素型に変換できないときは、ArrayStoreExceptionをスローします。 この場合、kを長さよりも小さく、負以外の最小整数型にして、src[srcPos+k]を転送先配列のコンポーネント型に変換できないようにします。例外をスローする場合、srcPosからsrcPos+k-1に位置するソース配列コンポーネントはすでにdestPosからdestPos+k-1に位置する転送先配列にコピーされています。また、転送先配列のその他の位置は修正されていません。 前述の制約のため、上記の記述は実際には両方の配列が参照型の要素型を持つ状況でだけ有効です。- パラメータ:
src- 転送元配列。srcPos- ソース配列の開始位置。dest- 転送先配列。destPos- 転送先データ内の開始位置。length- コピーされる配列要素の数。- 例外:
IndexOutOfBoundsException- コピーによって配列の境界を越えたデータのアクセスが生じた場合。ArrayStoreException- 型の不一致により、配列srcの要素が配列destに保存できなかった場合。NullPointerException-srcとdestのどちらかがnullの場合。
- 引数
-
identityHashCode
public static int identityHashCode(Object x)指定されたオブジェクトのクラスがhashCode()をオーバーライドしているかどうかに関係なく、デフォルトのhashCode()メソッドにより返されるものと同じ、指定されたオブジェクトのハッシュ・コードを返します。 参照nullのハッシュ・コードはゼロです。- パラメータ:
x- ハッシュ・コードが計算されるオブジェクト- 戻り値:
- ハッシュ・コード
- 導入されたバージョン:
- 1.1
- 関連項目:
Object.hashCode(),Objects.hashCode(Object)
-
getProperties
public static Properties getProperties()現在のシステム・プロパティを決定します。 まず、セキュリティ・マネージャが存在する場合は、引数なしでそのcheckPropertiesAccessメソッドを呼び出します。 これはセキュリティ例外となる場合があります。getProperty(String)メソッドで使用される現在のシステム・プロパティのセットが、Propertiesオブジェクトとして返されます。 システム・プロパティの現在のセットがない場合、システム・プロパティのセットをまず作成してから初期化します。 このシステム・プロパティのセットには、値がオプションであることを示す場合を除き、次の各キーの値が含まれます。Key 対応する値の説明 java.versionJava Runtime Environmentバージョン、 Runtime.Versionと解釈される可能性があります。java.version.dateJava Runtime Environmentバージョン日付(「ISO-8601 YYYY-MM-DD」形式)、 LocalDateと解釈される可能性があります。java.vendorJava Runtime Environmentのベンダー java.vendor.urlJavaベンダーのURL java.vendor.versionJavaベンダー・バージョンの(optional) java.homeJavaのインストール先ディレクトリ java.vm.specification.versionJava Virtual Machine仕様のバージョン。その値は「ランタイム・バージョン」のfeature要素です。 java.vm.specification.vendorJava仮想マシンの仕様のベンダー java.vm.specification.nameJava仮想マシンの仕様名 java.vm.versionRuntime.Versionとして解釈されるJava Virtual Machineの実装バージョンjava.vm.vendorJava仮想マシンの実装のベンダー java.vm.nameJava仮想マシンの実装名 java.specification.versionJava Runtime Environment仕様バージョン(その値は「ランタイム・バージョン」のfeature要素) java.specification.vendorJava Runtime Environmentの仕様のベンダー java.specification.nameJava Runtime Environmentの仕様名 java.class.versionJavaクラスの形式のバージョン番号 java.class.pathJavaクラス・パス(詳細は、 ClassLoader.getSystemClassLoader()を参照してください。)java.library.pathライブラリのロード時に検索するパスのリスト java.io.tmpdirデフォルト一時ファイルのパス java.compiler使用するJITコンパイラの名前 os.nameオペレーティング・システム名 os.archオペレーティング・システムのアーキテクチャ os.versionオペレーティング・システムのバージョン file.separatorファイル区切り文字(UNIXでは"/") path.separatorパス区切り文字(UNIXでは":") line.separator行区切り文字(UNIXでは"\n") user.nameユーザーのアカウント名 user.homeユーザーのホーム・ディレクトリ user.dirユーザーの現在の作業ディレクトリ システム・プロパティ値内の複数のパスは、プラットフォーム固有のパス区切り文字で区切られます。
セキュリティ・マネージャは、
getPropertiesオペレーションを許可しない場合でも、getProperty(String)オペレーションを許可する場合があります。- APIの注:
- 標準システム・プロパティを変更すると、特に指定されていないかぎり、予期しない結果が生じる可能性があります。 プロパティ値は、初期化中または最初の使用時にキャッシュできます。
getProperties()、setProperties(Properties)、setProperty(String, String)、またはclearProperty(String)を使用した初期化後の標準プロパティの設定は、期待した効果がないかもしれません。 - 実装上の注意:
- 標準システム・プロパティに加えて、システム・プロパティには次のキーが含まれます:
Key 対応する値の説明 jdk.module.pathアプリケーション・モジュールのパス jdk.module.upgrade.pathアップグレード・モジュールのパス jdk.module.main初期/メイン・モジュールのモジュール名 jdk.module.main.class初期モジュールのメイン・クラス名 - 戻り値:
- システム・プロパティ
- 例外:
SecurityException- セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckPropertiesAccessメソッドがシステム・プロパティへのアクセスを許可しない場合。- 関連項目:
setProperties(java.util.Properties),SecurityException,SecurityManager.checkPropertiesAccess(),Properties
-
lineSeparator
public static String lineSeparator()システムに依存する行区切り文字列を返します。 これは常に同じ値(システム・プロパティline.separatorの初期値)を返します。その戻り値は、UNIXシステムでは
"\n"、Microsoft Windowsシステムでは"\r\n"になります。- 戻り値:
- システムに依存する行区切り文字列
- 導入されたバージョン:
- 1.7
-
setProperties
public static void setProperties(Properties props)システム・プロパティを引数Propertiesに設定します。 まず、セキュリティ・マネージャが存在する場合は、引数なしでそのcheckPropertiesAccessメソッドを呼び出します。 これはセキュリティ例外となる場合があります。引数が、
getProperty(String)メソッドで使用されるシステム・プロパティの現在のセットになります。 引数がnullの場合、システム・プロパティの現在のセットはそのままです。- APIの注:
- 「標準システム・プロパティを変更すると、特に指定されていないかぎり、予期しない結果が生じる可能性があります。」. 詳細については、getPropertiesを参照してください。
- パラメータ:
props- 新しいシステム・プロパティ。- 例外:
SecurityException- セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckPropertiesAccessメソッドがシステム・プロパティへのアクセスを許可しない場合。- 関連項目:
getProperties(),Properties,SecurityException,SecurityManager.checkPropertiesAccess()
-
getProperty
指定されたキーによって示されるシステム・プロパティを取得します。 まず、セキュリティ・マネージャが存在する場合は、checkPropertyAccessメソッドがキーをその引数に指定して呼び出されます。 その結果、SecurityExceptionが発生することがあります。システム・プロパティの現在のセットがない場合、システム・プロパティのセットをまず作成し、
getPropertiesメソッドと同じ方法で初期化します。- APIの注:
- 「標準システム・プロパティを変更すると、特に指定されていないかぎり、予期しない結果が生じる可能性があります。」. 詳細については、getPropertiesを参照してください。
- パラメータ:
key- システム・プロパティの名前。- 戻り値:
- システム・プロパティの文字列値。そのキーを持つプロパティが存在しない場合は
null。 - 例外:
SecurityException- セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckPropertyAccessメソッドが指定されたシステム・プロパティへのアクセスを許可しない場合。NullPointerException-keyがnullである場合。IllegalArgumentException-keyが空である場合。- 関連項目:
setProperty(java.lang.String, java.lang.String),SecurityException,SecurityManager.checkPropertyAccess(java.lang.String),getProperties()
-
getProperty
指定されたキーによって示されるシステム・プロパティを取得します。 まず、セキュリティ・マネージャが存在する場合は、checkPropertyAccessメソッドがkeyをその引数に指定して呼び出されます。システム・プロパティの現在のセットがない場合、システム・プロパティのセットをまず作成し、
getPropertiesメソッドと同じ方法で初期化します。- パラメータ:
key- システム・プロパティの名前。def- デフォルト値。- 戻り値:
- システム・プロパティの文字列値。そのキーにプロパティがない場合はデフォルト値。
- 例外:
SecurityException- セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckPropertyAccessメソッドが指定されたシステム・プロパティへのアクセスを許可しない場合。NullPointerException-keyがnullである場合。IllegalArgumentException-keyが空である場合。- 関連項目:
setProperty(java.lang.String, java.lang.String),SecurityManager.checkPropertyAccess(java.lang.String),getProperties()
-
setProperty
指定されたキーによって示されるシステム・プロパティを設定します。 まず、セキュリティ・マネージャが存在する場合は、そのSecurityManager.checkPermissionメソッドがPropertyPermission(key, "write")アクセス権で呼び出されます。 この結果、SecurityExceptionがスローされることがあります。 例外がスローされなかった場合は、指定されたプロパティが指定された値に設定されます。- APIの注:
- 「標準システム・プロパティを変更すると、特に指定されていないかぎり、予期しない結果が生じる可能性があります。」. 詳細については、getPropertiesを参照してください。
- パラメータ:
key- システム・プロパティの名前。value- システム・プロパティの値。- 戻り値:
- システム・プロパティの以前の値。ない場合は
null。 - 例外:
SecurityException- セキュリティ・マネージャが存在し、そのcheckPermissionメソッドが、指定されたプロパティの設定を許可しない場合。NullPointerException-keyまたはvalueがnullの場合。IllegalArgumentException-keyが空である場合。- 導入されたバージョン:
- 1.2
- 関連項目:
getProperty(java.lang.String),getProperty(java.lang.String),getProperty(java.lang.String, java.lang.String),PropertyPermission,SecurityManager.checkPermission(java.security.Permission)
-
clearProperty
指定されたキーによって示されたシステム・プロパティを削除します。 まず、セキュリティ・マネージャが存在する場合は、そのSecurityManager.checkPermissionメソッドがPropertyPermission(key, "write")アクセス権で呼び出されます。 この結果、SecurityExceptionがスローされることがあります。 例外がスローされなかった場合は、指定されたプロパティは削除されます。- APIの注:
- 「標準システム・プロパティを変更すると、特に指定されていないかぎり、予期しない結果が生じる可能性があります。」. 詳細は、getPropertiesメソッドを参照してください。
- パラメータ:
key- 削除されるシステム・プロパティの名前。- 戻り値:
- システム・プロパティの以前の文字列値。そのキーにプロパティがなかった場合は
null。 - 例外:
SecurityException- セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckPropertyAccessメソッドが指定されたシステム・プロパティへのアクセスを許可しない場合。NullPointerException-keyがnullである場合。IllegalArgumentException-keyが空である場合。- 導入されたバージョン:
- 1.5
- 関連項目:
getProperty(java.lang.String),setProperty(java.lang.String, java.lang.String),Properties,SecurityException,SecurityManager.checkPropertiesAccess()
-
getenv
指定された環境変数の値を取得します。 環境変数は、システム固有の外部にある名前付きの値です。セキュリティ・マネージャが存在する場合は、その
checkPermissionメソッドがRuntimePermission("getenv."+name)権限で呼び出されます。 これにより、SecurityExceptionがスローされる可能性があります。 例外がスローされない場合、変数nameの値が返されます。システム・プロパティと環境変数はどちらも、名前と値の間で概念的にマップされています。 両方のメカニズムを使って、ユーザー定義情報をJavaプロセスに渡すことができます。 環境変数は、よりグローバルな効果を及ぼします。これは、プロセスにより定義されたすべての子孫にとって環境変数が直接のJavaサブプロセスであるばかりでなく、可視であるからです。 これらは、異なるオペレーティング・システム上で微妙に異なるセマンティックス(大文字と小文字を区別しないなど)を持つことができます。 これらの理由から、環境変数は意図しない副作用を持つ可能性が高くなります。 可能な場合は、システム・プロパティを使用することがもっとも適切です。 環境変数は、グローバルな効果が必要なときや、外部システム・インタフェースが環境変数(
PATHなど)を必要とするときに使う必要があります。UNIXシステムでは、
nameのアルファベットの大文字と小文字は区別されますが、Microsoft Windowsシステムでは一般に区別されません。 たとえば、Microsoft Windowsでは、式System.getenv("FOO").equals(System.getenv("foo"))はおそらくtrueになります。- パラメータ:
name- 環境変数の名前- 戻り値:
- 変数の文字列値。システム環境に変数が定義されていない場合は
null - 例外:
NullPointerException-nameがnullである場合SecurityException- セキュリティ・マネージャが存在し、そのcheckPermissionメソッドが環境変数nameへのアクセスを許可しない場合- 関連項目:
getenv(),ProcessBuilder.environment()
-
getenv
現在のシステム環境の変更できない文字列マップのビューを返します。 環境は、名前から値へのシステム依存のマッピングであり、親プロセスから子プロセスに渡されます。システムが環境変数をサポートしていない場合は、空のマップが返されます。
返されたマップは、nullのキーや値を含みません。 nullのキーや値があるか照会すると、
NullPointerExceptionがスローされます。String以外の型のキーや値が存在するかどうかのクエリーを試みると、ClassCastExceptionがスローされます。返されたマップとそのコレクション・ビューは、
Object.equals(java.lang.Object)メソッドとObject.hashCode()メソッドの汎用規約に従わない可能性があります。返されたマップは、一般にすべてのプラットフォームで大文字と小文字を区別します。
セキュリティ・マネージャが存在する場合は、その
checkPermissionメソッドがRuntimePermission("getenv.*")権限で呼び出されます。 これにより、SecurityExceptionがスローされる可能性があります。Javaサブプロセスに情報を渡す場合、一般的に環境変数よりもシステム・プロパティが推奨されます。
- 戻り値:
- 変数名から値へのマップとしての環境
- 例外:
SecurityException- セキュリティ・マネージャが存在し、そのcheckPermissionメソッドがプロセス環境へのアクセスを許可しない場合- 導入されたバージョン:
- 1.5
- 関連項目:
getenv(String),ProcessBuilder.environment()
-
getLogger
public static System.Logger getLogger(String name)呼び出し元が使用するLoggerのインスタンスを返します。- APIの注:
- このメソッドは、
LoggerFinder.getLoggerメソッドの呼び出しを延期し、たとえば、システムの初期化時にロガーを取得できるように、ロギング・バックエンドによって提供される実際のロガーを作成することを延期することがあります。 - 実装要件:
- このメソッドによって返されたインスタンスは、
LoggerFinder.getLogger(name, module)を呼び出すことによって得られたロガーにメッセージをルーティングします。moduleは呼び出し元モジュールです。 スタック(例えば、JNIにアタッチされたスレッドから直接呼び出された場合)に呼び出し元フレームがないコンテキストからSystem.getLoggerが呼び出された場合、IllegalCallerExceptionがスローされます。 このようなコンテキストでロガーを取得するには、暗黙的に呼び出し元として識別される補助クラスを使用するか、システムLoggerFinderを使用してロガーを取得します。 後者を実行すると、基盤となるロギング・システムを熱心に初期化する可能性があることに注意してください。 - パラメータ:
name- ロガーの名前。- 戻り値:
- 呼び出し側クラスで使用できる
System.Loggerのインスタンス。 - 例外:
NullPointerException-nameがnullの場合。IllegalCallerException- スタックにJava呼び出し側フレームがない場合。- 導入されたバージョン:
- 9
-
getLogger
public static System.Logger getLogger(String name, ResourceBundle bundle)呼び出し側が使用するLoggerのローカライズ可能なインスタンスを返します。 返されたロガーは、メッセージのローカライズに提供されたリソース・バンドルを使用します。- APIの注:
- このメソッドは、システムが完全に初期化された後に使用されます。 このメソッドにより、
System.LoggerFinderサービスの即時ロードと初期化がトリガーされる可能性があります。これにより、Java Runtimeがまだ具体的なサービス実装を初期化できない場合に問題が発生する可能性があります。 起動シーケンスの早い段階で読み込まれ、ローカライズされたメッセージをログに記録する必要があるシステム・クラスは、getLogger(java.lang.String)を使用してロガーを作成し、リソース・バンドルをパラメータとして取るログ・メソッドを使用する必要があります。 - 実装要件:
- 返されたロガーは
LoggerFinder.getLocalizedLogger(name, bundle, module)で指定されたメッセージのローカライズを実行します。moduleは呼び出し側モジュールです。 スタック(例えば、JNIにアタッチされたスレッドから直接呼び出された場合)に呼び出し元フレームがないコンテキストからSystem.getLoggerが呼び出された場合、IllegalCallerExceptionがスローされます。 このようなコンテキストでロガーを取得するには、暗黙的に呼び出し元として識別される補助クラスを使用するか、システムLoggerFinderを使用してロガーを取得します。 後者を実行すると、基盤となるロギング・システムを熱心に初期化する可能性があることに注意してください。 - パラメータ:
name- ロガーの名前。bundle- リソース・バンドル。- 戻り値:
System.Loggerのインスタンス。メッセージのローカライズに提供されたリソース・バンドルを使用します。- 例外:
NullPointerException-nameがnullまたはbundleがnullの場合。IllegalCallerException- スタックにJava呼び出し側フレームがない場合。- 導入されたバージョン:
- 9
-
exit
public static void exit(int status)現在実行しているJava仮想マシンを終了します。 引数はステータス・コードとして作用します。通例、ゼロ以外のステータス・コードは異常終了を示します。このメソッドは、クラス
Runtimeのexitメソッドを呼び出します。 このメソッドは通常は復帰しません。System.exit(n)の呼出しの動作は、実際には次の呼び出しと同じです。Runtime.getRuntime().exit(n)
- パラメータ:
status- 終了のステータス。- 例外:
SecurityException- セキュリティ・マネージャが存在し、そのcheckExitメソッドが、指定されたステータスでの終了を許可しない場合。- 関連項目:
Runtime.exit(int)
-
gc
public static void gc()Java Virtual Machineでガベージ・コレクタを実行します。gcメソッドをコールすることにより、Java Virtual Machineが現在使用しているメモリーをJava Virtual Machineで再利用できるようにするために、使用されていないオブジェクトを再生するJava Virtual Machineの手間がかかりました。 制御がメソッド・コールから戻ると、Java Virtual Machineは、未使用のすべてのオブジェクトから領域を再利用するためのベスト・エフォートをしました。 この労力が特定の数の未使用オブジェクトをリサイクルしたり、一定の量の領域を再利用したり、一度に完了しても、メソッドが復帰するか、または必ずメソッドが戻ることは保証されません。System.gc()の呼出しの動作は、実際には次の呼び出しと同じです。Runtime.getRuntime().gc()
- 関連項目:
Runtime.gc()
-
runFinalization
public static void runFinalization()ファイナライズを保留しているオブジェクトのファイナライズ・メソッドを実行します。 このメソッドを呼び出すと、Java仮想マシンは、破棄されたにもかかわらずfinalizeメソッドが実行されていないオブジェクトのfinalizeメソッドを実行しようとします。 メソッドの呼び出しから制御が戻るのは、Java仮想マシンが、すべての未処理のファイナライズを最大限まで完了し終えたときです。System.runFinalization()の呼出しの動作は、実際には次の呼び出しと同じです。Runtime.getRuntime().runFinalization()
-
load
public static void load(String filename)filename引数によって指定されたネイティブ・ライブラリをロードします。 filename引数は絶対パス名である必要があります。 filename引数(プラットフォーム固有のライブラリ接頭辞、パス、およびファイル拡張子がすべて取り除かれている場合)が、たとえばLという名前のライブラリを示し、Lというネイティブ・ライブラリがVMと静的にリンクされている場合は、ダイナミック・ライブラリのロードを試みるのではなく、そのライブラリによってエクスポートされるJNI_OnLoad_L関数が呼び出されます。 その引数と一致するファイル名がファイル・システム内に存在する必要はありません。 詳細については、「JNI仕様」を参照してください。 それ以外の場合、filename引数は実装に依存した方法でネイティブ・ライブラリ・イメージにマップされます。System.load(name)の呼出しの動作は、実際には次の呼び出しと同じです。Runtime.getRuntime().load(name)
- パラメータ:
filename- ロードするファイル。- 例外:
SecurityException- セキュリティ・マネージャが存在し、そのcheckLinkメソッドが、指定されたダイナミック・ライブラリのロードを許可しない場合UnsatisfiedLinkError- filenameが絶対パス名でない場合、ネイティブ・ライブラリがVMと静的にリンクされていない場合、またはホスト・システムがそのライブラリをネイティブ・ライブラリ・イメージにマップできない場合。NullPointerException-filenameがnullである場合- 関連項目:
Runtime.load(java.lang.String),SecurityManager.checkLink(java.lang.String)
-
loadLibrary
public static void loadLibrary(String libname)引数libnameによって指定されるネイティブ・ライブラリをロードします。libname引数には、プラットフォーム固有の接頭辞、ファイル拡張子、またはパスを含めないでください。libnameというネイティブ・ライブラリがVMと静的にリンクされている場合は、そのライブラリによってエクスポートされるJNI_OnLoad_libname関数が呼び出されます。 詳細については、「JNI仕様」を参照してください。 それ以外の場合、libname引数はシステム・ライブラリの場所からロードされ、実装に依存した方法でネイティブ・ライブラリ・イメージにマップされます。System.loadLibrary(name)呼出しの動作は、実際には次の呼び出しと同じですRuntime.getRuntime().loadLibrary(name)
- パラメータ:
libname- ライブラリの名前。- 例外:
SecurityException- セキュリティ・マネージャが存在し、そのcheckLinkメソッドが、指定されたダイナミック・ライブラリのロードを許可しない場合UnsatisfiedLinkError- libname引数にファイル・パスが含まれている場合、ネイティブ・ライブラリがVMと静的にリンクされていない場合、またはホスト・システムがそのライブラリをネイティブ・ライブラリ・イメージにマップできない場合。NullPointerException-libnameがnullである場合- 関連項目:
Runtime.loadLibrary(java.lang.String),SecurityManager.checkLink(java.lang.String)
-
mapLibraryName
ライブラリ名を、ネイティブ・ライブラリを表すプラットフォーム依存の文字列にマッピングします。- パラメータ:
libname- ライブラリの名前。- 戻り値:
- プラットフォーム依存のネイティブ・ライブラリ名。
- 例外:
NullPointerException-libnameがnullである場合- 導入されたバージョン:
- 1.2
- 関連項目:
loadLibrary(java.lang.String),ClassLoader.findLibrary(java.lang.String)
-