아이템 6 - 불필요한 객체 생성을 피하라
📌 똑같은 기능의 객체를 매번 생성하기보다는 객체 하나를 재사용하는 편이 나을 때가 많다.
String s = new String("bikini");
String s = "bikini";
📌 새로운 인스턴스를 매번 만드는 대신 하나의 String 인스턴스를 사용
=> 같은 가상 머신 안에서 이와 똑같은 문자열 리터럴을 사용하는 모든 코드가 같은 객체를 재사용함이 보장
📌 불변 클래스에서의 정적 팩터리 메서드
📌 String.matches()
public boolean matches(String regex) {
return Pattern.matches(regex, this);
}
- 문자열에 정규표현식이 일치하는지를 boolean으로 리턴
- Pattern 인스턴스는 한 번 쓰고 버려져서 가비지 컬렉션 대상이 된다.
- 유한 상태 머신 : 장치나 모델이 가질 수 있는 유한개의 상태를 정의하고, 조건에 맞는 이벤트가 발생되면 해당 상태로 변경되는 방식으로 동작하는 것을 유한상태기계라 한다. 출처
- 유한 상태 머신은 인스턴스 생성 비용이 높다.