public Person(String name){
        if (name == null) {
            throw new NullPointerException("null name");
        } else if (name.isEmpty()) {
            throw new IllegalArgumentException("empty name");
        }
        synchronized (people){
            if (people.containsKey(name)) {
                throw new RuntimeException("this name has already created");
            }
            this.name = name;
            people.put(name, this);
            System.out.println("+Person " + name);
        }
    }