Java - Stringbuffer와 Stringbuilder의 차이

prana·2023년 10월 21일

JAVA

목록 보기
1/8
post-thumbnail

StringBufferStringBuilder
동기화안전하게 사용 가능
멀티 스레드 환경에서 여러 스레드가 동시에 StringBuffer를 수정하더라도 데이터 무결성 보장
동기화x
스레드 간 안전성 보장하지 않아 단일 스레드 환경에서 적합
성능동기화 제공하므로 멀티 스레드 환경에서도 안전하게 사용할 수 있으나 성능이 보다 느릴 수 있음동기화를 고려하지 않아 더 가볍고 빠름
단일 스레드 환경에서 문자열을 수정할 때 선호

buffer란

문자열 데이터를 저장하고 효율적으로 관리하는 공간

  • StringBuffer는 문자열 변경 시 문자열을 다시 할당하거나 복사하는 대신, 이러한 문자열 데이터를 저장하는 공간을 관리

문자열을 효율적으로 수정할 수 있다.

  • 내부적으로 가변 크기의 문자 배열을 사용하여 문자열을 저장
  • 필요에 따라 동적으로 조절
  1. "Hello ,"를 StringBuffer에 문자열을 저장하는 데 필요한 공간을 할당

  2. 그런 다음 "World!" 문자열을 할당받은 공간에 추가함

0개의 댓글