기능은 StringBuffer 와 유사하다.
✔️ StringBuilder는 동기화되어 있다.
❗️ 동기화
: 멀티 쓰레드에 안전하게 하는 것 (thread - safe)
: 데이터 보호
밑에 쓰레드의 내용은 참고만 하자. 나중에 자세히 공부하는 걸로!
쓰레드는 2가지로 분류된다.
싱글 쓰레드를 예를들어, 채팅창에 상대방이 파일 문서를 보냈는데 내가 그 문서를 다운로드 받으면 그동안 채팅도 못치고 아무것도 동작할 수 없다.
즉, 하나에 한개만 동작하고 동시에 무엇을 할 수 없다. 그것을 싱글쓰레드라고 한다.
그 반대로 동시에 동작할 수 있는 것이 멀티 쓰레드이다.
하지만 다 나름대로 단점이 있다.
한번에 여러번 동작하니까 서로 데이터를 공유한다.
여럿이 동작함으로써, 내가 작업하는동안 다른 사람이 그 데이터를 건들일 수 있다. 그러면 데이터가 꼬이게 된다.
그러한 부분을 막아주는 것이 동기화이다.
✔️ 멀티 쓰레드 프로그램이 아닌 경우, 동기화는 불필요한 성능저하를 일으킨다.
무조건 StringBuffer를 쓸 것이 아니라, 싱글 쓰레드에서는 StringBulder
를 사용하는 것이 좋다. 성능이 조금 향상될 것이다.
StringBuilder sb = new StringBuilder();
References
: https://cafe.naver.com/javachobostudy