JAVA String, StringBuffer, StringBuilder 정리

자바 string buffer와 string builder => multi thread 지원 차이

 

String vs StringBuffer/Builder

  • String은 immutable( 불변 )성을 가짐
  • String Buffer & Builder는 mutable( 가변 )을 가짐

 

StringBuffer vs String Builder

  • StringBuffer는 동기화 키워드를 지원하여 멀티쓰레드 환경에서 안전함
  • StringBuilder는 동기화 미지원으로 단일 쓰레드의 성능은 StringBuffer보다 뛰어남

 

String : 문자열 연산이 적고, 멀티쓰레드 환경에 적합

StringBuffer : 문자열 연산이 많고, 멀티쓰레드 환경에 적합

StringBuilder : 문자열 연산이 많고, 단일쓰레드 환경에 적합

 

string = “ ” 하는것과 new String 하는 것의 차이

 

String = “ ” 방식의 경우, JVM 힙 메모리의 String Pool 안에는 “ “ 문자열이 생성되고, 변수가 레퍼런스로 포인팅함.

 

new String(“ “) 방식의 경우, Heap 메모리에 객체를 생성한다.

 

StringPool 등록하려는 경우, intern( ) 메서드를 사용한다. 문자열을 비교시 equals( ) 사용하자.

'개발 > Java' 카테고리의 다른 글

extends vs implements  (0) 2021.10.18
Integer vs Int  (0) 2021.10.15
Java 배열 오름차순 / 내림차순 정리  (0) 2021.09.27
[OOP] 오버로딩과 오버라이딩의 차이점  (0) 2021.09.06