생성자 대신 정적 팩터리 매서드를 제공하는 불변 클래스에서는 정적 팩터리 메서드를 사용해 불필요한 객체 생성을 피할 수 있다.

static boolean isRomanNumeral(String s){
	return s.matches(...)
}
public class RomanNumerals{
	private static final Patter ROMAN = "....";
	static boolean isRomanNumeral(String s){
		return ROMAN.matcher(s).matches();
	}
}

박싱된 기본 타입보다는 기본 타입을 사용하고, 의도치 않은 오토박싱이 숨어들지 않도록 주의하자.

// 박싱된 타입(Long)을 사용하면 연산할때마다 인스턴스가 생성되어서 성능면에서 좋지 않다.
public static long sum(){
 Long sum = 0L;
 for (long i = 0; i<= Integer.MAX_VALUE; i++){
	 sum+=i;
 }
 return sum;
}