Programing/Java
StringBuilder vs StringBuffer
천재보단범재
2021. 9. 30. 23:40
String vs StringBuilder / StringBuffer
String은 Immutable Class이다.
StringBuilder와 StringBuffer는 Mutable Class이다.
String 문자열을 수정하면 새로운 String 객체가 생성된다.
기존 String 객체는 GC(Garbage Collection) 제거 대상이 된다.
String str = "hello"; // String str = new String("hello");
str += " world"; // String str = new String("hello world");
StringBuffer나 StringBuilder 문자열을 수정하면 동일한 객체내에서 수정이 가능하다.
그래서 문자열 수정이 빈번하면 String 보다는 StringBuffer나 StringBuilder을 추천한다.
StringBuffer vs StringBuilder
StringBuffer는 Thread-safe하다 (String도 Thread-safe)
StringBuilder는 동기화를 지원하진 않지만 단일 Thread에서 성능이 StringBuffer보다 우수하다.
String vs StringBuffer vs StringBuilder
특성 | String | StringBuffer | StringBuilder |
Storage | String pool | Heap | Heap |
Modifiable | immutable | mutable | mutable |
Thread Safe | Yes | Yes | No |
Synchronized | Yes | Yes | No |
Performance | Fast | Slow | Fast |
[참고사이트]
728x90
반응형