StringBuilder와 StringBuffer는 String 클래스와는 다르게 가변성을 가지고 있습니다.
이 둘의 차이점은 바로 동기화의 유무입니다.
먼저, StringBuffer는 동기화(Synchronization)를 지원하기 때문에, Multi-Thread 환경에서 안전하게 동작할 수 있습니다.
StringBuilder는 Single-Thread 환경에서만큼은 StringBuffer보다 뛰어나다고 할 수 있지만,
Multi-Thread에서만큼은 그렇지 못합니다.
Java의 동기화(Synchronized) 키워드는 여러 개의 Thread가 한 개의 자원에 접근하려고 할 때,
현재 데이터를 사용하고 있는 Thread를 제외하고
나머지 Thread들이 데이터에 접근할 수 없도록 막는 역할을 수행합니다.
'Develop > Java' 카테고리의 다른 글
오버로딩(Overloading) vs 오버라이딩(Overriding) (1) | 2022.09.02 |
---|---|
Scanner 사용 시, next()와 nextLine()의 차이 (0) | 2022.08.31 |
Java : String <-> int (0) | 2022.08.30 |
자료형 일치 (0) | 2022.08.25 |
print vs printf vs println (0) | 2022.08.24 |