Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- JPA
- 클라우드
- MST
- 자료구조
- 코딩
- golang
- Spring Cloud
- Jenkins
- Spring Boot
- feign
- retry
- 운영체제
- Spring Cloud Feign
- 오라클
- MVC
- 알고리즘
- db
- 페이징
- Kafka
- Intellj
- SQL
- PL/SQL
- Spring
- 데이터베이스
- 백준
- 디자인 패턴
- 자바
- aws
- 쿼리
- DP
Archives
- Today
- Total
justgo_developer
String vs StringBuffer vs StringBuilder 차이 본문
728x90
반응형
자바 언어로 개발시 평상시에 많이 쓰는 String, StringBuffer, StringBuilder의 차이점은 무엇일까?
■ String :
불변, 선언하면 동일한 공간이 할당되어 있기 때문에값을 바꾸어도 메모리를 차지하고 있음.
값을 바꾸어도 새로운 String 객체가 생성되는 것.
값이 자주 안바뀔때 사용하면 좋음
- String 객체 값이 변경 시 새로운 메모리 주소값이 생성됨
■ StringBuffer, StringBuilder :
가변, 객체를 생성하지 않아도 문자열 수정 가능
동일한 객체 내에서 수정됨.
값이 자주 바뀌는 경우 String 보다 효율적
- StringBuffer, StringBuilder 값이 변경되어도 메모리 주소값은 동일
Why??
실제 intellj를 이용해 String 구현된 Class를 확인해보니 private final char value[]로 선언되어 있음.
※ Private final 의미 : 선언한 변수를 사용하면 재할당하지 못해, 새로운 값이 할당된다.
그렇다면 StringBuilder와 StringBuffer의 차이점은 무엇일까?
- StringBuilder : Thread-Safe 하지 않음, 단일쓰레드, 동기화 고려X
- StringBuffer : Thread-Safe 함, 멀티쓰레드, 동기화 고려 O
728x90
반응형
'IT > 자바' 카테고리의 다른 글
SOLID 원칙 (0) | 2021.02.06 |
---|---|
피터 코드의 상속 규칙 (0) | 2021.02.06 |
OOP(객체지향프로그램) 4가지 원리 (1) | 2021.02.06 |
자바 정규식(Regular Expressions) (0) | 2021.01.30 |
public static void main(String[] args) 의미 (0) | 2021.01.09 |