クラスSystem

java.lang.Object
java.lang.System

public final class System extends Object
Systemクラスには有用なクラス・フィールドおよびメソッドがあります。 インスタンス化することはできません。 Systemクラスによって得られる機能には、標準入力、標準出力、およびエラー出力ストリー 、外部的に定義されたプロパティおよび環境変数へのアクセス、ファイルおよびライブラリのローディング方法、配列の一部をすばやくコピーするユーティリティ・メソッドがあります。
導入されたバージョン:
1.0
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    クラス
    説明
    static interface 
    System.Loggerインスタンスは、LoggerFinderが使用する基礎となるロギング・フレー ワークにルーティングされるメッセージをログに記録します。
    static class 
    LoggerFinderサービスは、使用する基礎となるフレー ワークに対するロガーの作成、管理および構成を担当します。
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final PrintStream
    「標準」エラー出力ストリー です。
    static final InputStream
    「標準」入力ストリー です。
    static final PrintStream
    「標準」出力ストリー です。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    static void
    arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
    指定位置で開始する指定ソース配列から、転送先配列の指定位置に配列をコピーします。
    static String
    指定されたキーによって示されたシステ ・プロパティを削除します。
    static Console
    現在のJava仮想マシンに関連した一意のConsoleオブジェクトがある 合に、それを返します。
    static long
    ミリ秒で表される現在の時間を返します。
    static void
    exit(int status)
    Java Virtual Machineの「停止シーケンス」を開始します。
    static void
    gc()
    Java Virtual Machineでガベージ・コレクタを実行します。
    static Map<String,String>
    現在のシステ 環境の変更できない文字列マップのビューを返します。
    static String
    getenv(String name)
    指定された環境変数の値を取得します。
    呼出し側の使用のためにLoggerのインスタンスを返します。
    呼出し側の使用のためにLoggerのローカライズ可能なインスタンスを返します。
    static Properties
    現在のシステ ・プロパティを決定します。
    static String
    指定されたキーによって示されるシステ ・プロパティを取得します。
    static String
    指定されたキーによって示されるシステ ・プロパティを取得します。
    削除予定のため非推奨: このAPI要 は、将来のバージョンで削除される可能性があります。
    このメソッドは当初、「システ 全体のセキュリティ・マネージャ」を返しました。
    static int
    指定されたオブジェクトのクラスがhashCode()をオーバーライドしているかどうかに関係なく、デフォルトのhashCode()メソッドにより返されるものと同じ、指定されたオブジェクトのハッシュ・コードを返します。
    static Channel
    Java仮想マシンを作成したエンティティから継承されたチャネルを返します。
    static String
    システ に依存する行区切り文字列を返します。
    static void
    load(String filename)
    Restricted.
    filename引数によって指定されたネイティブ・ライブラリをロードします。
    static void
    Restricted.
    引数libnameによって指定されるネイティブ・ライブラリをロードします。
    static String
    ライブラリ名を、ネイティブ・ライブラリを表すプラットフォー 依存の文字列にマッピングします。
    static long
    実行中のJava仮想マシンの高精度時間ソースの現在値を、ナノ秒の単位で返します。
    static void
    削除予定のため非推奨: このAPI要 は、将来のバージョンで削除される可能性があります。
    最終決定は削除のために非推奨になりました。
    static void
    「標準」エラー出力ストリー を割り当てし直します。
    static void
    「標準」入力ストリー を割り当てし直します。
    static void
    「標準」出力ストリー を割り当てし直します。
    static void
    システ ・プロパティを引数Propertiesに設定します。
    static String
    setProperty(String key, String value)
    指定されたキーによって示されるシステ ・プロパティを設定します。
    static void
    削除予定のため非推奨: このAPI要 は、将来のバージョンで削除される可能性があります。
    このメソッドは当初、「システ 全体のセキュリティ・マネージャ」を設定しました。

    クラスjava.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • in

      public static final InputStream in
      「標準」入力ストリー です。 このストリー はすでに開いていて、入力データの供給が可能です。 通常、このストリー はキーボード入力、またはホスト環境やユーザーによって指定されるその他の入力ソースと一致しています。 このストリー がInputStreamReaderにラップされている 合は、文字セットにConsole.charset()を使用するか、Console.reader()の使用を検討してく さい。
      関連 目:
    • out

      public static final PrintStream out
      「標準」出力ストリー です。 このストリー はすでに開いていて、出力データの受け取りが可能です。 通常、このストリー はディスプレイ出力、またはホスト環境やユーザーによって指定される出力先の出力と一致します。 文字からバイトへの変換で使用されるエンコーディングは、stdout.encodingと同等です。

      単純なスタンドアロンのJavaアプリケーションにおいて、出力データの行を書き込む一般的な方法は以下のとおりです。

           System.out.println(data)
       

      クラスPrintStreamprintlnメソッドを参照してく さい。

      関連 目:
    • err

      public static final PrintStream err
      「標準」エラー出力ストリー です。 このストリー はすでに開いていて、出力データの受け取りが可能です。

      通常、このストリー はディスプレイ出力、またはホスト環境やユーザーによって指定される出力先の出力と一致します。 主な出力ストリー である変数out値が、一般的に継続的には監視されていないファイルまたはその他の転送先にリダイレクトしている 合でも、ユーザーに注意を促すためのエラー・メッセージまたはその他の情 を表示するために、通例この出力ストリー が使用されます。「標準」入力ストリー を割り当てし直します。 文字からバイトへの変換で使用されるエンコーディングは、stderr.encodingと同等です。

      関連 目:
  • メソッドの詳細

    • setIn

      public static void setIn(InputStream in)
      「標準」入力ストリー を割り当てし直します。
      パラメータ:
      in - 新しい標準入力ストリー 。
      導入されたバージョン:
      1.1
    • setOut

      public static void setOut(PrintStream out)
      「標準」出力ストリー を割り当てし直します。
      パラメータ:
      out - 新しい標準出力ストリー 
      導入されたバージョン:
      1.1
    • setErr

      public static void setErr(PrintStream err)
      「標準」エラー出力ストリー を割り当てし直します。
      パラメータ:
      err - 新しい標準エラー出力ストリー 。
      導入されたバージョン:
      1.1
    • console

      public static Console console()
      現在のJava仮想マシンに関連した一意のConsoleオブジェクトがある 合に、それを返します。
      戻り値:
      システ ・コンソール(存在する 合)、それ以外の 合はnull
      導入されたバージョン:
      1.6
    • inheritedChannel

      public static Channel inheritedChannel() throws IOException
      Java仮想マシンを作成したエンティティから継承されたチャネルを返します。 このメソッドから返されるチャネルは、システ 全体のデフォルトのSelectorProviderオブジェクトのinheritedChannelメソッドを呼び出して取得されたものです。

      このメソッドは、inheritedChannelで説明したネットワーク指向のチャネルに え、将来的にほかの種類のチャネルも返すようになる予定です。

      戻り値:
      継承されたチャネル(存在する 合)、それ以外の 合はnull
      スロー:
      IOException - 入出力エラーが発生した 合
      導入されたバージョン:
      1.5
    • setSecurityManager

      @Deprecated(since="17", forRemoval=true) public static void setSecurityManager(SecurityManager sm)
      削除予定のため非推奨: このAPI要 は、将来のバージョンで削除される可能性があります。
      このメソッドは当初、「システ 全体のセキュリティ・マネージャ」を設定しました。 セキュリティ・マネージャの設定はサポートされなくなりました。 Security Managerまたはこのメソッドに置換はありません。
      UnsupportedOperationExceptionをスローします。 セキュリティ・マネージャの設定はサポートされていません。
      パラメータ:
      sm - 無視されます
      スロー:
      UnsupportedOperationException - 常時
      関連 目:
    • getSecurityManager

      @Deprecated(since="17", forRemoval=true) public static SecurityManager getSecurityManager()
      削除予定のため非推奨: このAPI要 は、将来のバージョンで削除される可能性があります。
      このメソッドは当初、「システ 全体のセキュリティ・マネージャ」を返しました。 セキュリティ・マネージャの設定はサポートされなくなりました。 Security Managerまたはこのメソッドに置換はありません。
      nullを返します。 セキュリティ・マネージャの設定はサポートされていません。
      戻り値:
      null
      関連 目:
    • currentTimeMillis

      public static long currentTimeMillis()
      ミリ秒で表される現在の時間を返します。 戻り値の時間単位はミリ秒ですが、値の粒度は基本となるオペレーティング・システ によって異なり、単位がより大きくなる 合があります。 たとえば、多くのオペレーティング・システ では、時間を10ミリ秒の単位で計測します。

      「コンピュータ時間」と協定世界時(UTC)との間に発生する微妙な相違については、クラスDateの説明を参照してく さい。

      戻り値:
      ミリ秒で測定した、現在時刻と協定世界時のUTC 1970年1月1日深夜零時との差。
      関連 目:
    • 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

      public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
      指定位置で開始する指定ソース配列から、転送先配列の指定位置に配列をコピーします。 配列要 のサブシーケンスを、srcによって参照されるソース配列からdestによって参照される転送先配列にコピーします。 コピーされる要 の数は、引数lengthと一致します。 ソース配列のsrcPosからsrcPos+length-1までの位置にある要 を、転送先の配列のdestPosからdestPos+length-1までの位置にそれぞれコピーします。

      引数srcおよびdestが同じ配列オブジェクトである 合、たとえば、まずsrcPosからsrcPos+length-1までの位置にある要 をlengthの数の要 を持つ一時配列にコピーし、次に一時配列の内容を転送先配列のdestPosからdestPos+length-1にコピーします。

      destnullの 合、NullPointerExceptionがスローされます。

      srcnullの 合、NullPointerExceptionがスローされ、転送先の配列は変更されません。

      次のどれかがtrueである 合は、ArrayStoreExceptionをスローし、転送先を修正しません。

      • 引数srcが、配列でないオブジェクトを参照する。
      • 引数destが、配列でないオブジェクトを参照する。
      • 引数srcおよび引数destが、要 の種類が異なるプリミティブ型の配列である。
      • 引数srcがプリミティブ要 型の配列であり、引数destが参照要 型の配列である。
      • 引数srcが参照要 型の配列であり、引数destがプリミティブ要 型の配列である。

      次のどれかがtrueである 合は、IndexOutOfBoundsExceptionをスローし、転送先を修正しません。

      • 引数srcPosが の値である。
      • 引数destPosが の値である。
      • 引数lengthが の値である。
      • srcPos+lengthsrc.length (ソース配列の長さ)より大きい 合。
      • destPos+lengthdest.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 - srcdestのどちらかがnullの 合。
    • identityHashCode

      public static int identityHashCode(Object x)
      指定されたオブジェクトのクラスがhashCode()をオーバーライドしているかどうかに関係なく、デフォルトのhashCode()メソッドにより返されるものと同じ、指定されたオブジェクトのハッシュ・コードを返します。 参照nullのハッシュ・コードはゼロです。
      パラメータ:
      x - ハッシュ・コードが計算されるオブジェクト
      戻り値:
      ハッシュ・コード
      導入されたバージョン:
      1.1
      関連 目:
    • getProperties

      public static Properties getProperties()
      現在のシステ ・プロパティを決定します。

      getProperty(String)メソッドで使用される現在のシステ ・プロパティのセットが、Propertiesオブジェクトとして返されます。 システ ・プロパティの現在のセットがない 合、システ ・プロパティのセットをまず作成してから初期化します。 このシステ ・プロパティのセットには、値がオプションであることを示す 合を除き、次の各キーの値が含まれます。

      プロパティ・キーと対応する値を示します
      キー 対応する値の説明
      java.version Java Runtime Environmentのバージョン.Runtime.Versionと解釈される可能性があります。
      java.version.date Java Runtime Environmentのバージョン日付(「ISO-8601 YYYY-MM-DD」形式).LocalDateと解釈される可能性があります。
      java.vendor Java Runtime Environmentのベンダー
      java.vendor.url JavaベンダーのURL
      java.vendor.version Javaベンダー・バージョンの(optional)
      java.home Javaのインストール先ディレクトリ
      java.vm.specification.version Java Virtual Machine仕様のバージョン。その値は「ランタイ ・バージョン」feature要 です。
      java.vm.specification.vendor Java仮想マシンの仕様のベンダー
      java.vm.specification.name Java仮想マシンの仕様名
      java.vm.version Runtime.Versionとして解釈できるJava Virtual Machine実装バージョン
      java.vm.vendor Java仮想マシンの実装のベンダー
      java.vm.name Java仮想マシンの実装名
      java.specification.version Java Runtime Environment仕様バージョン(その値は「ランタイ ・バージョン」feature要 )
      java.specification.maintenance.version Java Runtime Environment仕様のメンテナンス、正の整数(optional, see below)として解釈できます
      java.specification.vendor Java Runtime Environmentの仕様のベンダー
      java.specification.name Java Runtime Environmentの仕様名
      java.class.version 「最新」 Javaランタイ で"MAJOR.MINOR"として認識されるJavaクラス・ファイル形式バージョン(MAJORおよびMINORは両方とも10進整数としてフォーマットされます)
      java.class.path Javaクラス・パス(詳細は、ClassLoader.getSystemClassLoader()を参照してく さい。)
      java.library.path ライブラリのロード時に検索するパスのリスト
      java.io.tmpdir デフォルト一時ファイルのパス
      os.name オペレーティング・システ 名
      os.arch オペレーティング・システ のアーキテクチャ
      os.version オペレーティング・システ のバージョン
      file.separator ファイル区切り文字(UNIXでは"/")
      path.separator パス区切り文字(UNIXでは":")
      line.separator 行区切り文字(UNIXでは"\n")
      user.name ユーザーのアカウント名
      user.home ユーザーのホー ・ディレクトリ
      user.dir ユーザーの現在の作業ディレクトリ
      native.encoding ホスト環境またはユーザー設定(あるいはその両方)から導出された文字エンコーディング名。 このシステ ・プロパティを設定しても効果はありません。
      stdout.encoding System.outおよびSystem.console()の文字エンコーディング名。 Javaランタイ は、システ ・プロパティをUTF-8に設定して起動でき、別の値に設定したプロパティから開始すると、未定義の動作になります。
      stderr.encoding System.errの文字エンコーディング名。 Javaランタイ は、システ ・プロパティをUTF-8に設定して起動でき、別の値に設定したプロパティから開始すると、未定義の動作になります。

      java.specification.maintenance.versionプロパティは、構築時にこのランタイ によって実装された仕様が「メンテナンス・リリース」を受けていた 合に定義されます。 定義されている 合、その値はそのメンテナンス・リリースを識別します。 最初のメンテナンス・リリースを示すために、このプロパティの値は"1"になり、2番目のメンテナンス・リリースを示す 合、このプロパティの値は"2"になります。

      システ ・プロパティ値内の複数のパスは、プラットフォー 固有のパス区切り文字で区切られます。

      Localeクラスの説明のDefault Localeセクションで定義された追 のロケール関連のシステ ・プロパティも、このメソッドで取得できます。

      APIのノート:
      標準システ ・プロパティを変更すると、特に指定されていないかぎり、予期しない結果が生じる可能性があります。 プロパティ値は、初期化中または最初の使用時にキャッシュできます。 getProperties()setProperties(Properties)setProperty(String, String)、またはclearProperty(String)を使用した初期化後の標準プロパティの設定は、期待した効果がないかもしれません。
      実装上のノート:
      標準のシステ ・プロパティに えて、システ ・プロパティには次のキーを含めることができます:
      プロパティ・キーと対応する値を示します
      キー 対応する値の説明
      jdk.module.path アプリケーション・モジュールのパス
      jdk.module.upgrade.path アップグレード・モジュールのパス
      jdk.module.main 初期/メイン・モジュールのモジュール名
      jdk.module.main.class 初期モジュールのメイン・クラス名
      file.encoding デフォルトの文字セットの名前。デフォルトはUTF-8です。 このプロパティは、コマンドラインで値UTF-8またはCOMPATに設定できます。 コマンドラインで値COMPATに設定されている 合、値は起動時にnative.encodingプロパティの値に置き換えられます。 プロパティをUTF-8またはCOMPAT以外の値に設定すると、不特定の動作になります。
      戻り値:
      システ ・プロパティ
      関連 目:
    • lineSeparator

      public static String lineSeparator()
      システ に依存する行区切り文字列を返します。 これは常に同じ値(システ ・プロパティ line.separatorの初期値)を返します。

      その戻り値は、UNIXシステ では"\n"、Microsoft Windowsシステ では"\r\n"になります。

      戻り値:
      システ に依存する行区切り文字列
      導入されたバージョン:
      1.7
    • setProperties

      public static void setProperties(Properties props)
      システ ・プロパティを引数Propertiesに設定します。

      引数が、getProperty(String)メソッドで使用されるシステ ・プロパティの現在のセットになります。 引数がnullの 合、システ ・プロパティの現在のセットはそのままです。

      APIのノート:
      「標準システ ・プロパティを変更すると、特に指定されていないかぎり、予期しない結果が生じる可能性があります。」. 詳細については、getPropertiesを参照してく さい。
      パラメータ:
      props - 新しいシステ ・プロパティ。
      関連 目:
    • getProperty

      public static String getProperty(String key)
      指定されたキーによって示されるシステ ・プロパティを取得します。

      システ ・プロパティの現在のセットがない 合、システ ・プロパティのセットをまず作成し、getPropertiesメソッドと同じ方法で初期化します。

      APIのノート:
      「標準システ ・プロパティを変更すると、特に指定されていないかぎり、予期しない結果が生じる可能性があります。」. 詳細については、getPropertiesを参照してく さい。
      パラメータ:
      key - システ ・プロパティの名前。
      戻り値:
      システ ・プロパティの文字列値。そのキーを持つプロパティが存在しない 合はnull
      スロー:
      NullPointerException - keynullである 合。
      IllegalArgumentException - keyが空である 合。
      関連 目:
    • getProperty

      public static String getProperty(String key, String def)
      指定されたキーによって示されるシステ ・プロパティを取得します。

      システ ・プロパティの現在のセットがない 合、システ ・プロパティのセットをまず作成し、getPropertiesメソッドと同じ方法で初期化します。

      パラメータ:
      key - システ ・プロパティの名前。
      def - デフォルト値。
      戻り値:
      システ ・プロパティの文字列値。そのキーにプロパティがない 合はデフォルト値。
      スロー:
      NullPointerException - keynullである 合。
      IllegalArgumentException - keyが空である 合。
      関連 目:
    • setProperty

      public static String setProperty(String key, String value)
      指定されたキーによって示されるシステ ・プロパティを設定します。
      APIのノート:
      「標準システ ・プロパティを変更すると、特に指定されていないかぎり、予期しない結果が生じる可能性があります。」. 詳細については、getPropertiesを参照してく さい。
      パラメータ:
      key - システ ・プロパティの名前。
      value - システ ・プロパティの値。
      戻り値:
      システ ・プロパティの以前の値。ない 合はnull
      スロー:
      NullPointerException - keyまたはvaluenullの 合。
      IllegalArgumentException - keyが空である 合。
      導入されたバージョン:
      1.2
      関連 目:
    • clearProperty

      public static String clearProperty(String key)
      指定されたキーによって示されたシステ ・プロパティを削除します。
      APIのノート:
      「標準システ ・プロパティを変更すると、特に指定されていないかぎり、予期しない結果が生じる可能性があります。」. 詳細は、getPropertiesメソッドを参照してく さい。
      パラメータ:
      key - 削除されるシステ ・プロパティの名前。
      戻り値:
      システ ・プロパティの以前の文字列値。そのキーにプロパティがなかった 合はnull
      スロー:
      NullPointerException - keynullである 合。
      IllegalArgumentException - keyが空である 合。
      導入されたバージョン:
      1.5
      関連 目:
    • getenv

      public static String getenv(String name)
      指定された環境変数の値を取得します。 環境変数は、システ 固有の外部にある名前付きの値です。

      システ ・プロパティ環境変数はどちらも、名前と値の間で概念的にマップされています。 両方のメカニズ を使って、ユーザー定義情 をJavaプロセスに渡すことができます。 環境変数は、よりグローバルな効果を及ぼします。これは、プロセスにより定義されたすべての子孫にとって環境変数が直接のJavaサブプロセスであるばかりでなく、可視であるからです。 これらは、異なるオペレーティング・システ 上で微妙に異なるセマンティックス(大文字と小文字を区別しないなど)を持つことができます。 これらの理由から、環境変数は意図しない副作用を持つ可能性が高くなります。 可能な 合は、システ ・プロパティを使用することがもっとも適切です。 環境変数は、グローバルな効果が必要なときや、外部システ ・インタフェースが環境変数(PATHなど)を必要とするときに使う必要があります。

      UNIXシステ では、nameのアルファベットの大文字と小文字は区別されますが、Microsoft Windowsシステ では一般に区別されません。 たとえば、Microsoft Windowsでは、式System.getenv("FOO").equals(System.getenv("foo"))はおそらくtrueになります。

      パラメータ:
      name - 環境変数の名前
      戻り値:
      変数の文字列値。システ 環境に変数が定義されていない 合はnull
      スロー:
      NullPointerException - namenullである 合
      関連 目:
    • getenv

      public static Map<String,String> getenv()
      現在のシステ 環境の変更できない文字列マップのビューを返します。 環境は、名前から値へのシステ 依存のマッピングであり、親プロセスから子プロセスに渡されます。

      システ が環境変数をサポートしていない 合は、空のマップが返されます。

      返されたマップは、nullのキーや値を含みません。 nullのキーや値があるか照会すると、NullPointerExceptionがスローされます。 String以外の型のキーや値が存在するかどうかのクエリーを試みると、ClassCastExceptionがスローされます。

      返されたマップとそのコレクション・ビューは、Object.equals(java.lang.Object)メソッドとObject.hashCode()メソッドの汎用規約に従わない可能性があります。

      返されたマップは、一般にすべてのプラットフォー で大文字と小文字を区別します。

      Javaサブプロセスに情 を渡す 合、一般的に環境変数よりもシステ ・プロパティが推奨されます。

      戻り値:
      変数名から値へのマップとしての環境
      導入されたバージョン:
      1.5
      関連 目:
    • 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 - namenullの 合。
      IllegalCallerException - スタック上にJava呼び出し元フレー がない 合。
      導入されたバージョン:
      9
    • getLogger

      public static System.Logger getLogger(String name, ResourceBundle bundle)
      呼出し側の使用のためにLoggerのローカライズ可能なインスタンスを返します。 返されたロガーは、提供されたリソース・バンドルをメッセージのローカリゼーションに使用します。
      APIのノート:
      このメソッドは、システ が完全に初期化されたあとに使用することを目的としています。 このメソッドは、System.LoggerFinderサービスの即時ロードおよび初期化をトリガーする 合があります。これにより、Javaランタイ が具象サービスの実装をま 初期化する準備ができていない 合に問題が発生する可能性があります。 ブート 序の早い段階でロードされ、ローカライズされたメッセージをログに記録する必要があるシステ ・クラスは、getLogger(java.lang.String)を使用してロガーを作成してから、リソース・バンドルをパラメータとして使用するログ・メソッドを使用する必要があります。
      実装要件:
      返されるロガーは、LoggerFinder.getLocalizedLogger(name, bundle, module)で指定されたメッセージ・ローカリゼーションを実行します。ここで、moduleはコール元のモジュールです。 スタック(例えば、JNIに接続されたスレッドから直接呼び出された 合)にコール元フレー がないコンテキストからSystem.getLoggerがコールされると、IllegalCallerExceptionがスローされます。 このようなコンテキストでロガーを取得するには、コール元として暗黙的に識別される補助クラスを使用するか、システ LoggerFinderを使用してロガーを取得します。 後者を実行すると、基礎となるロギング・システ が容易に初期化される可能性があることに注意してく さい。
      パラメータ:
      name - ロガーの名前。
      bundle - リソース・バンドル。
      戻り値:
      指定されたリソース・バンドルをメッセージのローカリゼーションに使用するSystem.Loggerのインスタンス。
      スロー:
      NullPointerException - namenullまたはbundlenullの 合。
      IllegalCallerException - スタック上にJava呼び出し元フレー がない 合。
      導入されたバージョン:
      9
    • exit

      public static void exit(int status)
      Java Virtual Machineの「停止シーケンス」を開始します。 このメソッドは、停止シーケンス(ま 開始されていない 合)を開始し、無期限にブロックします。 このメソッドは例外を返したりスローしたりしません。つまり、通常どおりまたは突然完了しません。

      引数はステータス・コードとして機能します。 通例、ゼロ以外のステータス・コードは異常終了を示す。

      System.exit(n)の呼出しの動作は、実際には次の呼び出しと同じです。

          Runtime.getRuntime().exit(n)
      

      実装上のノート:
      停止シーケンスの開始は、Runtime.exit(int)によって記録されます。
      パラメータ:
      status - 終了のステータス。
      関連 目:
    • gc

      public static void gc()
      Java Virtual Machineでガベージ・コレクタを実行します。

      gcメソッドをコールすることにより、Java Virtual Machineが現在使用しているメモリーをJava Virtual Machineで再利用できるようにするために、使用されていないオブジェクトを再生するJava Virtual Machineの手間がかかりました。 制御がメソッド・コールから戻ると、Java Virtual Machineは、未使用のすべてのオブジェクトから 域を再利用するためのベスト・エフォートをしました。 この労力が特定の数の未使用オブジェクトをリサイクルしたり、一定の量の 域を再利用したり、一度に完了しても、メソッドが復帰するか、または必ずメソッドが戻ることは保証されません。 また、この作業によって、特定の数のオブジェクトにおける到達可能性の変更、または特定の数のReferenceオブジェクトがクリアされてエンキューされるという保証はありません。

      System.gc()の呼出しの動作は、実際には次の呼び出しと同じです。

       Runtime.getRuntime().gc()
       

      関連 目:
    • runFinalization

      @Deprecated(since="18", forRemoval=true) public static void runFinalization()
      削除予定のため非推奨: このAPI要 は、将来のバージョンで削除される可能性があります。
      最終決定は削除のために非推奨になりました。 移行オプションについてのバックグラウンド情 および詳細は、Object.finalize()を参照してく さい。

      ファイナライズが無効または削除されているJVMで実行する 合、オブジェクトはファイナライズを保留しないため、このメソッドは何もしません。

      ファイナライズを保留しているオブジェクトのファイナライズ・メソッドを実行します。 このメソッドを呼び出すと、Java仮想マシンは、 棄されたにもかかわらずfinalizeメソッドが実行されていないオブジェクトのfinalizeメソッドを実行しようとします。 メソッドの呼び出しから制御が戻るのは、Java仮想マシンが、すべての未処理のファイナライズを最大限まで完了し終えたときです。

      System.runFinalization()の呼出しの動作は、実際には次の呼び出しと同じです。

       Runtime.getRuntime().runFinalization()
       

      Java言語仕様を参照してく さい:
      12.6 クラス・インスタンスのファイナライズ
      関連 目:
    • load

      public static void load(String filename)
      loadは、Javaプラットフォー の制限付きメソッドです。
      プログラ は、制限付きメソッドへのアクセスが有効になっている 合にのみloadを使用できます。
      制限されたメソッドは安全ではありません。不適切に使用した 合、JVMがクラッシュまたはメモリーが 損する 合があります。
      filename引数によって指定されたネイティブ・ライブラリをロードします。 filename引数は絶対パス名である必要があります。 filename引数(プラットフォー 固有のライブラリ接 辞、パス、およびファイル拡張子がすべて取り除かれている 合)が、たとえばLという名前のライブラリを示し、Lというネイティブ・ライブラリがVMと静的にリンクされている 合は、ダイナミック・ライブラリのロードを試みるのではなく、そのライブラリによってエクスポートされるJNI_OnLoad_L関数が呼び出されます。 その引数と一致するファイル名がファイル・システ 内に存在する必要はありません。 詳細については、「JNI仕様」を参照してく さい。 それ以外の 合、filename引数は実装に依存した方法でネイティブ・ライブラリ・イメージにマップされます。

      System.load(name)の呼出しの動作は、実際には次の呼び出しと同じです。

       Runtime.getRuntime().load(name)
       

      パラメータ:
      filename - ロードするファイル。
      スロー:
      UnsatisfiedLinkError - filenameが絶対パス名でない 合、ネイティブ・ライブラリがVMと静的にリンクされていない 合、またはホスト・システ がそのライブラリをネイティブ・ライブラリ・イメージにマップできない 合。
      NullPointerException - filenamenullである 合
      IllegalCallerException - 呼び出し元が、ネイティブ・アクセスが有効になっていないモジュール内にある 合。
      外部仕様
      関連 目:
    • loadLibrary

      public static void loadLibrary(String libname)
      loadLibraryは、Javaプラットフォー の制限付きメソッドです。
      プログラ は、制限付きメソッドへのアクセスが有効になっている 合にのみloadLibraryを使用できます。
      制限されたメソッドは安全ではありません。不適切に使用した 合、JVMがクラッシュまたはメモリーが 損する 合があります。
      引数libnameによって指定されるネイティブ・ライブラリをロードします。 libname引数には、プラットフォー 固有の接 辞、ファイル拡張子、またはパスを含めないでく さい。 libnameというネイティブ・ライブラリがVMと静的にリンクされている 合は、そのライブラリによってエクスポートされるJNI_OnLoad_libname関数が呼び出されます。 詳細については、「JNI仕様」を参照してく さい。 それ以外の 合、libname引数はシステ ・ライブラリのロケーションからロードされ、実装に依存する方法でネイティブ・ライブラリ・イメージにマップされます。

      System.loadLibrary(name)呼出しの動作は、実際には次の呼び出しと同じです

       Runtime.getRuntime().loadLibrary(name)
       

      パラメータ:
      libname - ライブラリの名前。
      スロー:
      UnsatisfiedLinkError - libname引数にファイル・パスが含まれている 合、ネイティブ・ライブラリがVMと静的にリンクされていない 合、またはホスト・システ がそのライブラリをネイティブ・ライブラリ・イメージにマップできない 合。
      NullPointerException - libnamenullである 合
      IllegalCallerException - 呼び出し元が、ネイティブ・アクセスが有効になっていないモジュール内にある 合。
      外部仕様
      関連 目:
    • mapLibraryName

      public static String mapLibraryName(String libname)
      ライブラリ名を、ネイティブ・ライブラリを表すプラットフォー 依存の文字列にマッピングします。
      パラメータ:
      libname - ライブラリの名前。
      戻り値:
      プラットフォー 依存のネイティブ・ライブラリ名。
      スロー:
      NullPointerException - libnamenullである 合
      導入されたバージョン:
      1.2
      関連 目: