StudyingRecords/Interview Question

[Java] String, StringBuilder, StringBuffer의 차이

HoSeongYu 2022. 3. 2. 11:11

String : 불변

StringBuilder : 가변, 비동기방식-Single Thread환경에서 사용

StringBuffer : 가변, 동기 방식-Multi Thread환경에서 사용

 

+)

  1. Thread safe란?
    • 멀티 스레드 프로그래밍에서 일반적으로 어떤 함수나 변수, 혹은 객체가 여러 스레드로부터 동시에 접근이 이루어져도 프로그램의 실행에 문제가 없음을 뜻한다.
  2. Java String 불변객체인 이유
    • 성능 : 상수풀의 장점을 사용하기 위해서
    • 동기화 : 멀티스레드 환경에서 Thread safe 하다
    • 해시코드 캐싱
    • 보안이슈
    • [참조사이트] : https://devlog-wjdrbs96.tistory.com/247