면접 - 자바

개발자 면접 질문 - String, StringBuffer, StringBuilder 차이

snow-line 2020. 12. 2. 18:46
반응형

1. String

 - 새로운 값을 할당할 때 마다 새로 클래스에 대한 객체가 생성된다.

 - String 에서 저장되는 문자열은 private final char[] 의 형태이기 때문에 String 값은 변경할 수 없다.

 - String + String + String은 각각의 String 주소값이 Stack에 쌓이고 GC가 호출되기 전까지 생성된 String 객체들은 Heap에 쌓이기 때문에 메모리 관리에 치명적이다.

 

2. StringBuffer

 - 동기화 지원

 - 각 메서드 별로 synchronized keyword가 존재한다.

 

3. StringBuilder

 - 동기화 미지원

 - 동기화를 지원하지 않아 속도가 빠르다.

반응형