JAvaソース学習6-System
最近ソースコードを見て、心血来潮はSystem類の深さを探したいので、あまり言わないで、直接ソースコードの構造に行きます
public final class System { //final修飾、継承できない、使うしかない、Stringクラスと同じ
//3つのメンバー変数
public final static InputStream in = null;
public final static PrintStream out = null;
public final static PrintStream err = null;
//よく使う方法をリストアップする
public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);//オブジェクトコピー、
public static Properties getProperties(){}//システム設定の属性変数の取得
}
属性変数リスト
キー
相関値の説明
Javaランタイム環境バージョン
Javaランタイム環境ベンダー
JavaベンダーのURL
Javaインストールディレクトリ
Java仮想マシン仕様バージョン
Java仮想マシン仕様ベンダー
Java仮想マシン仕様名
Java仮想マシン実装バージョン
Java仮想マシン実装ベンダー
Java仮想マシン実装名
Javaランタイム環境仕様バージョン
Javaランタイム環境仕様ベンダー
Javaランタイム環境仕様名
Javaクラス形式バージョン番号
Javaクラスパス
ライブラリのロード時に検索されたパスのリスト
デフォルトの一時ファイルパス
使用するJITコンパイラの名前
1つ以上の拡張ディレクトリのパス
OSの名前
オペレーティングシステムのアーキテクチャ
OSのバージョン
ファイル区切り記号(UNIXシステムでは"/")
パス区切り記号(UNIXシステムでは":")
行区切り記号(UNIXシステムでは「/n」)
ユーザーのアカウント名
ユーザーのホーム
ユーザーの現在の作業ディレクトリ
テストコードは次のとおりです.
public final class System { //final修飾、継承できない、使うしかない、Stringクラスと同じ
//3つのメンバー変数
public final static InputStream in = null;
public final static PrintStream out = null;
public final static PrintStream err = null;
//よく使う方法をリストアップする
public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);//オブジェクトコピー、
public static Properties getProperties(){}//システム設定の属性変数の取得
}
属性変数リスト
キー
相関値の説明
java.version
Javaランタイム環境バージョン
java.vendor
Javaランタイム環境ベンダー
java.vendor.url
JavaベンダーのURL
java.home
Javaインストールディレクトリ
java.vm.specification.version
Java仮想マシン仕様バージョン
java.vm.specification.vendor
Java仮想マシン仕様ベンダー
java.vm.specification.name
Java仮想マシン仕様名
java.vm.version
Java仮想マシン実装バージョン
java.vm.vendor
Java仮想マシン実装ベンダー
java.vm.name
Java仮想マシン実装名
java.specification.version
Javaランタイム環境仕様バージョン
java.specification.vendor
Javaランタイム環境仕様ベンダー
java.specification.name
Javaランタイム環境仕様名
java.class.version
Javaクラス形式バージョン番号
java.class.path
Javaクラスパス
java.library.path
ライブラリのロード時に検索されたパスのリスト
java.io.tmpdir
デフォルトの一時ファイルパス
java.compiler
使用するJITコンパイラの名前
java.ext.dirs
1つ以上の拡張ディレクトリのパス
os.name
OSの名前
os.arch
オペレーティングシステムのアーキテクチャ
os.version
OSのバージョン
file.separator
ファイル区切り記号(UNIXシステムでは"/")
path.separator
パス区切り記号(UNIXシステムでは":")
line.separator
行区切り記号(UNIXシステムでは「/n」)
user.name
ユーザーのアカウント名
user.home
ユーザーのホーム
user.dir
ユーザーの現在の作業ディレクトリ
テストコードは次のとおりです.
public class TestSystem {
public static void main(String[] args) {
// TODO Auto-generated method stub
Properties p=System.getProperties();
for(Entry e:p.entrySet()){
Object key=e.getKey();
Object value=e.getValue();
System.out.println(key +" "+value);
}
}
}