String, StringBuilder, StirngBuffer
String immutable(불변) 하다. String 객체는 한번 생성이 되면 할당된 인스턴스 공간의 메모리가 변하지 않는다. 문자열을 저장하고 + 연산자나 concat 메서드를 통해 새로운 문자열을 붙이면, 기존의 String 객체가 가리키고 있던 문자열이 복사되고 새로운 문자열로 객체가 생성된다. 그리고 새로운 문자열이 만들어진 객체를 참조하도록 한다. (한번 생성된 문자열 객체의 내부를 변경할 수 없다.) 기존 String 객체는 특정 시점에 Garbage Collection에 의해 회수된다. 하지만, immutabe 객체는 thread-safe 하기 때문에 여러 개의 스레드가 동시에 접근하여 읽어도 값이 변하질 않아 문제가 발생하지 않는다. (동기화 문제를 고려하지 않아도 된다. 결국은 문자열..
Java & Spring
2019. 9. 4. 13:32