본문 바로가기
  • soobinhand의 기술 블로그
도서/이펙티브 자바 - Joshua Bloch

아이템 6 - 불필요한 객체 생성을 피하라.

by soobinhand 2022. 1. 26.
728x90

String.matches는 정규표현식으로 문자열 형태를 확인하는 가장 쉬운 방법이지만, 성능이 중요한 상황에서 반복해 사용하기엔 적합하지 않다.

성능을 개선하려면 필요한 정규표현식을 표현하는 Pattern 인스턴스를 클래스 초기화 과정에서 직접 생성해 캐싱해두고, 나중에 메소드가 호출될 때마다 이 인스턴스를 재사용한다.

불필요한 객체를 만들어내는 또 다른 예시는 오토박싱을 들 수 있다. 오토박싱은 프로그래머가 기본 타입과 박싱된 기본 타입을 섞어 쓸 때 자동으로 상호 변환해주는 기술이다. 오토박싱은 기본 타입과 그에 대응하는 박싱된 기본 타입의 구분을 흐려주지만, 완전히 없애주는 것은 아니다. 박싱된 기본 타입보다는 기본 타입을 사용하고, 의도치 않은 오토박싱이 숨어들지 않도록 주의하자.

 

관련 코드

 

GitHub - Soobinhand/effective_java: 이펙티브 자바

이펙티브 자바. Contribute to Soobinhand/effective_java development by creating an account on GitHub.

github.com

 

728x90

댓글