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
동기화 미지원
동기화를 지원하지 않아 속도가 빠르다.

'2021 Newlecture > JAVA' 카테고리의 다른 글

StringBuffer클래스  (0) 2021.09.19
클래스변수  (0) 2021.09.18
Wrapper class  (0) 2021.08.22
자바 컬렉션과 제네릭 강의  (0) 2021.04.25
자바 총 정리  (1) 2021.04.13
Inner class / Anonymous class  (0) 2021.04.12
인터페이스 구현  (0) 2021.04.12
(추가정리) 추상클래스 와 인터페이스  (0) 2021.04.11

+ Recent posts