Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

java.lang
クラス System

java.lang.Object
  上位を拡張 java.lang.System

public final class System
extends Object

Java 仮想マシンおよびホスト・システムに関連するアクセスおよびユーティリティを提供します。 このクラスの全てのメソッドはクラス・メソッドとして宣言されており、インスタンスを生成する必要はありません。 またインスタンスを生成することはできません。

導入されたバージョン:
CLDC 1.0

フィールドの概要
static PrintStream err
          標準エラー出力へ接続された PrintStream オブジェクトです。
static PrintStream out
          標準出力へ接続された PrintStream オブジェクトです。
 
メソッドの概要
static void arraycopy(Object src, int srcIndex, Object dst, int dstIndex, int count)
          コピー元の配列オブジェクトの指定位置からをコピー先の配列オブジェクトの指定位置へ指定要素数分コピーします。
static long currentTimeMillis()
          現在時刻と協定世界時の UTC 1970 年 1 月 1 日午前 0 時からの差をミリ秒単位で返します。
static void exit(int status)
          実行中のアプリケーションを終了します。
static void gc()
          ガーベジ・コレクタを呼び出します。
static String getProperty(String name)
          指定した名前のシステム・プロパティ値を返します。
static int identityHashCode(Object obj)
          渡されたオブジェクトの Object クラスによる hashCode() メソッドによるハッシュコードを返します。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

out

public static final PrintStream out

標準出力へ接続された PrintStream オブジェクトです。 このストリームはシステムによって開かれており、オープンすることなくデータを即出力することができます。

標準出力は OS の標準出力あるいはそれに類するものへ接続されています。

関連項目:
PrintStream

err

public static final PrintStream err

標準エラー出力へ接続された PrintStream オブジェクトです。 このストリームはシステムによって開かれており、オープンすることなくデータを即出力することができます。

標準エラー出力は OS の標準エラー出力あるいはそれに類するものへ接続されています。

関連項目:
PrintStream
メソッドの詳細

currentTimeMillis

public static long currentTimeMillis()

現在時刻と協定世界時の UTC 1970 年 1 月 1 日午前 0 時からの差をミリ秒単位で返します。 この時間はローカライズされていません。

Java 仮想マシンの時間軸と実行しているデバイスの時間軸が別に存在し、必ずしも同期しない実装もあります。 これは Java 仮想マシンの実装の仕方の問題であり、Java の仕様の範囲外のためです。

戻り値:
ミリ秒単位の現在の時間を返します。

arraycopy

public static void arraycopy(Object src,
                             int srcIndex,
                             Object dst,
                             int dstIndex,
                             int count)

コピー元の配列オブジェクトの指定位置からをコピー先の配列オブジェクトの指定位置へ指定要素数分コピーします。 コピー元のオブジェクト配列 src 内の srcIndex が示す位置からコピー先のオブジェクト配列 dst 内の dstIndex が示す位置へ、count で指定された要素数をコピーします。 つまり、src 内の srcIndex が示す位置から srcIndex + count - 1 の位置までの要素を dst 内の dstIndex が示す位置から dstIndex + count - 1 の位置までにコピーします。

コピーを開始する前に、以下の順番でパラメータのチェックが行われます。 いずれかの例外が throw される場合にはコピーは行われません(コピー先の内容は変更されていません)。

  1. src あるいは dstnull の場合、NullPointerException が throw されます。
  2. 以下の条件のいずれかが true となる場合は ArrayStoreException が throw されます。
    • src あるいは dst が配列ではない場合。
    • src あるいは dst片方のみがプリミティブ型の配列の場合。
    • src および dst が異なるプリミティブ型の配列の場合。
  3. 以下の条件のいずれかが true となる場合は IndexOutOfBoundsException が throw されます。
    • srcIndex あるいは dstIndexcount が負数の場合。
    • srcIndex + countsrc.length よりも大きい場合。
    • dstIndex + countdst.length よりも大きい場合。

以上で問題がない場合、コピーを開始します。 コピー中にコピー元からコピー先へ代入変換が不可能なケースが発生した場合は ArrayStoreException が throw されます。 この際、例外が throw される原因となった位置の手前までコピーが完了しています。

パラメータ:
src - コピー元のオブジェクト配列を渡します。
srcIndex - 要素の取得を開始するコピー元配列内の位置を渡します。
dst - コピー先のオブジェクト配列を渡します。
dstIndex - 要素の格納を開始するコピー先配列内の位置を渡します。
count - コピーする要素数を渡します。
例外:
IndexOutOfBoundsException - コピー元あるいはコピー先の配列境界を越えるような組み合わせのパラメータで呼び出された場合に throw します。
ArrayStoreException - コピー元配列とコピー先配列の型が一致しない場合に throw します。
NullPointerException - src あるいは dstnull の場合に throw します。

identityHashCode

public static int identityHashCode(Object obj)

渡されたオブジェクトの Object クラスによる hashCode() メソッドによるハッシュコードを返します。 オブジェクトが hashCode() メソッドをオーバーライドしている場合でも Object クラスの hashCode() メソッドによるハッシュコードを返します。

なお、null が渡された場合、ハッシュコードとして 0 を返します。

パラメータ:
obj - ハッシュコードを取得する対象のオブジェクトを渡します。
戻り値:
ハッシュコードを返します。

getProperty

public static String getProperty(String name)

指定した名前のシステム・プロパティ値を返します。

Java Platform, Micro Edition では以下のプロパティが規定されています。

  1. microedition.platform
    J2ME が稼動しているプラットフォームが設定されています。
  2. microedition.encoding
    デフォルトで使用される文字エンコーディングが設定されています。
  3. microedition.profiles
    使用可能なプロファイルが設定されています。
  4. microedition.configuration
    現在稼動中のコンフィギュレーションが設定されています。

その他に以下のプロパティが設定されていることがあります。 これは実装に依存する部分であり、CLDC 規定の一部ではありません。

パラメータ:
name - 読み出すプロパティ名を渡します。
戻り値:
対応する値を返します。対応する値が無い場合は null を返します。

exit

public static void exit(int status)

実行中のアプリケーションを終了します。パラメータで渡された値はステータス・コードとして使用され、通常 OS へ渡されます。

このメソッドは Runtime クラスの exit(int) メソッドを呼び出します。 このメソッドは呼び出し元へ処理が戻されることはありません。

なお、実装によってはアプリケーションを直接終了することを制限していることがあります。 この場合、実装によっては SecurityException 等が throw されることがあります。

パラメータ:
status - ステータス・コードを渡します。
関連項目:
Runtime.exit(int)

gc

public static void gc()

ガーベジ・コレクタを呼び出します。 このメソッドの呼び出しは Runtime クラスの gc() メソッドを呼び出すのと等価です。

呼び出されたガーベジ・コレクタは参照の外れたオブジェクトを破棄し、空きメモリを増やすように処理を行います。 メソッドの呼び出しが終了した時点で Java 仮想マシンが最適化したメモリ状態にあることになります。 なお、ガーベジ・コレクタが採用するアルゴリズムと回収できるメモリの量は実装に依存します。

CLDC ではガーベジ・コレクタがメモリ・コンパクションを行わない実装もあります。 この場合、小さなオブジェクトがメモリを分断し、全体のメモリ容量が足りていても大きなオブジェクトの生成を妨害することがあります。

明示的にガーベジ・コレクタを呼び出した場合の他に Java 仮想マシンは必要に応じてメイン・スレッドとは別のスレッドにおいてガーベジ・コレクタを実行します。

gc メソッドは garbage collector の頭文字から命名されています。


Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

公式仕様書原文の著作権表記等(※):

Mobile Information Device Profile Specification ("Specification")
Version: 2.0
Status: FCS
Release: November 5, 2002

Copyright 2002 Sun Microsystems, Inc. and Motorola, Inc.
All rights reserved.
※ただしこの API リファレンスは英語仕様を一語一句正確に翻訳したものではなく、一度私が英語の仕様原文を読んだ上で元の意味と構造をなるべく保つように書き起こしたものです。このため一部は完全に異なる説明となっています。また CLDC 1.1 部分は同仕様の範囲外であるため、まったく参考とはしていません。

※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。

この API リファレンスは仕様書の日本語版という位置づけでは作成していませんし、仕様書ほど厳格でもありません。MUST、SHOULD、MAY などの仕様の条件を強調する文を維持していません(反映すらしていない個所もあります)。仮想マシンおよび MIDP の実装のために使用することは避けてください。そのような用途には必ず公式仕様書原文そのものを用いるべきです。
この API リファレンスに記載されている内容は"さかきけい"が Sun Microsystems, Inc や Motorola, Inc、Java Community Process が公開している各種公式資料を元に、独自に調査・編集したものであり、Sun Microsystems, Inc や Motorola, Inc、Java Community Process 等とは一切関係ありません。したがってこの API リファレンスに関する問い合わせを関係各社等に対して行うことを固く禁じます。
また、記載された内容には既知か否かに関らず誤りが含まれる可能性があり、一切保証はありません。本 API リファレンスを使用した結果、不利益が生じたとしても"さかきけい"は一切の責任を負いません。
許可無く公開/非公開および Internet/Intranet/LAN を問わず他サイトに転載すること、複写および複製すること、ローカル・ファイル等に保存することを禁じます。


Copyright© 2001-2002,2005-2009,2011 by KEI SAKAKI.
ALL RIGHTS RESERVED.
無断転載を禁じます。

Unofficial "CLDC 1.0 + MIDP 1.0" API Reference はこちらです。