본문 바로가기
java || spring boot

StringBuffer 와 StringBuilder의 차이점

by 정구지개발자 2024. 1. 11.
728x90

StringBuffer

  • 동기화를 지원하여 멀티쓰레드 환경에서 주로 사용한다-> Thread-safe하다

        -> 싱글쓰레드 환경일 경우 StringBuffer을 사용해도 되나 동기화관련 처리 때문에 StringBuilder보다 성능이 좋지는 않다.

  • 가변성을 가진다 ->문자열 연산작업이 많을 떄 사용하기 좋다

 

 

StringBuilder

  • 동기화를 지원하지 않아 싱글쓰레드 환경에서 주로 사용한다.
  • 가변성을 가진다.  ->문자열 연산작업이 많을 떄 사용하기 좋다

 

 

cf)Thread-safe-> 멀티쓰레드에서 한 쓰레드가 한 함수를 호출해서 실행되고 있을 때 다른 쓰레드가 그 함수를 호출해서 동시에 실행되더라도 각 쓰레드에서의 함수의 수행결과는 올바르게 나온다.

 -> 동기화 처리 문제로 속도 측면에서 느려질수 있다.

 

cf)stringBuffer쪽에서 문자열을 추가할때마다 메모리 추가가 이루어지는데 이게 어떤식으로 이루어 지는지 면접질문으로 나올수가 있다. 

728x90

'java || spring boot' 카테고리의 다른 글

sping boot (intellj)편리한 단축키  (0) 2024.04.23
CIA란?  (0) 2024.04.10
call by value, call by reference란?  (0) 2024.01.04
abnormal build process termination 오류 해결방법  (0) 2023.12.31
객체, class, instance 란?  (0) 2023.12.31

댓글