JAvaソース学習6-System

2304 ワード

最近ソースコードを見て、心血来潮は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.version
Javaランタイム環境バージョンjava.vendor
Javaランタイム環境ベンダーjava.vendor.url
JavaベンダーのURLjava.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);
		}
	}

}