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 |
댓글