String, StringBuilder, StringBuffer의 차이
·
cs/java
1) String 객체의 특성 자바에서 String 객체는 한 번 생성하면 크기가 불변(immutable)한다. 그래서 문자열 연산( + , concat ) 등으로 으로 원래 있던 String 문자열에 다른 문자열을 붙이면, 원래 객체에 추가로 붙는 것이 아니라 새로운 String 객체를 만들고, 거기에 연산을 한 문자열을 저장하고 참조하는 것이다. String 클래스 객체는 Heap 메모리 영역에 생성이 되어 , 한번 생성한 객체의 내부 내용 변화시킬 수 없고 , 기존 객체가 제거되면 가비지 컬렉션의 대상이 된다. 이런 과정을 거치기 때문에 문자열 연산이 많은 경우(ex. jdbc 연결 쿼리) 성능이 좋지 않다. 하지만 불변 객체는 간단하게 사용 가능하고, 동기화에 신경쓰지 않아도 되어 (Thread-..