본문 바로가기
JAVA

String / StringBuffer / StringBuilder

by 공부 안하고 싶은 사람 2021. 6. 28.
반응형

String은 Serializable, CharSequence, Comparable 인터페이스가 상속되어 있고 public final class로 되어 있다.

serialize가 가능하며 문자열이고 비교가능한 값이라는 것을 알 수 있다. 또한 final class이기 때문에 String class를 상속받을 수는 없다.

private final cahr value[] 이기 때문에, 불변하고 외부에서 접근할 수 없기 때문에 새로운 값을 할당할 때마다 새로 생성 -> 클래스 생성, 메모리 남용

 

따라서, memory에 값을 append하는 StringBuilderStringBuffer를 사용

큰 차이점은 StringBuilder는 변경가능한 문자열이지만 synchronization이 적용되지 않았다.

 

 

StringBuffer는 thread-safe라는 말에서처럼 변경가능하지만 multiple thread환경에서 안전한 클래스라고 한다. (비동기상황에서 안전하다)

728x90
반응형

'JAVA' 카테고리의 다른 글

The Java, 코드를 조작하는 다양한 방법  (0) 2021.09.01
JVM  (0) 2021.06.28
SOLID  (0) 2021.06.28
디자인 패턴  (0) 2021.06.28
인코딩 변환  (0) 2021.04.29

댓글