2021 Newlecture/JAVA
String , StringBuffer, StringBuilder 차이점
haileykim2014
2021. 8. 20. 01:48
String , StringBuffer,StringBuilder 차이점
1. String
새로운 값을 할당할때 마다 새로 클래스에 대한 객체가 생성된다.
String에서 저장되는 문자열은 private final char[] 의 형태이기 때문에 String값은 변경 할 수없다.
String + String + String은 각각의 String주소값이 stack에 쌓이고 GC가 호출되기 전까지 생성된 String객체들은 Heap에 쌓이기 떄문에 메모리관리에 치명적이다.

인스턴스안의 저장된 문자열을 바꿀수없다
한번 생성되면 문자열을 바꿀 수 없다.
참조변수는 참조하는게 다임
str1이 str2를 참조해도 문제가안생긴다. 둘다 참조만가능하므로 ..
백개의 참조변수가생겨도 문제가 안생긴다.
새 인스턴스가 아니라 기존 값을 반환해준다.
새로운 인스턴스가 필요하다면 new로 새 객체생성가능
2. StringBuffer
동기화지원
각 메서드 별로 synchronized keyword가 존재한다.
3. StringBuilder
동기화 미지원
동기화를 지원하지 않아 속도가 빠르다.