////////////////////////////////////////////////////////////////////////////////
//  << m113.java >>
//
// メール(1):プロパティ(システムプロパティ、設定と取得)
//
//  システムプロパティの設定と取得。
//
// ●java.util.Propertiesクラス
//   Propertiesクラスは、プロパティのセットを表す。
//  プロパティのセット中のプロパティ名とその値は、文字列である。 
//    public class Properties extends Hashtable
//
// ●java.util.Hashtableクラス
//  このクラスは、ハッシュテーブルを実装する。キーと値の組をもつ。
//
// ●java.util.Hashtableクラスのメソッド
//    public V get(Object key)
//   機能:キーkeyに対応づけられている値を取得する。 
//    public V put(K key,V value)
//      機能:ハッシュテーブルにおいて、キーkeyを、値valueに対応づける。
//            戻り値は、ハッシュテーブルの指定されたキーの前の値。
//       それがない場合は null。 
//
////////////////////////////////////////////////////////////////////////////////

import java.util.Properties;

class m113 {
  public static void main(String args[]) {

    // システムプロパティのセットを取得する。
    Properties prop = System.getProperties();

    // システムプロパティ(user.name)を取得する。
    String t1 = (String)prop.get("user.name");
    System.out.println("変更前:user.name = " + t1);

    // システムプロパティ(user.name)を変更する。
    String t2 = (String)prop.put("user.name","taro");
    System.out.println("変更時:user.name = " + t2);

    // システムプロパティ(user.name)を取得する。
    String t3 = (String)prop.get("user.name");
    System.out.println("変更後:user.name = " + t3);

  }
} 
実行結果
c:\> javac m113.java
c:\> java m113
変更前:user.name = 一郎
変更時:user.name = 一郎
変更後:user.name = taro

c:\> java m113
変更前:user.name = 一郎
変更時:user.name = 一郎
変更後:user.name = taro

この結果、システムプロパティの変更が有効なのはプログラム内のみで、
再起動された場合、初期設定に戻ることがわかる。