EEALL@ONCE

☕ String constant pool 본문

언어💻/자바☕

☕ String constant pool

올엣원스 2023. 8. 1. 17:43
728x90

String constant pool은 다음과 같은 특징을 갖습니다:

1. 중복된 문자열 리터럴은 하나만 저장됨: 같은 문자열 리터럴이 여러 번 사용되더라도 String constant pool에는 하나의 객체만 저장됩니다. 이렇게 중복을 허용하지 않음으로써 메모리를 절약합니다.

2. 문자열 리터럴은 변경 불가능(immutable): String constant pool에 저장된 문자열 리터럴은 변경이 불가능합니다. 즉, 한 번 생성된 문자열은 수정할 수 없으며, 수정하려면 새로운 객체를 생성해야 합니다.

3. 자동 생성: 문자열 리터럴을 사용하여 변수를 초기화하거나, `new` 키워드를 사용하지 않고 문자열을 생성하면 자동으로 String constant pool에 문자열이 저장됩니다.

String constant pool을 사용함으로써 동일한 문자열을 가진 객체가 중복 생성되는 것을 막아 메모리를 효율적으로 관리하고, 문자열 비교와 같은 연산에서 성능을 향상시킵니다. 하지만, `new` 키워드를 사용하여 인스턴스 생성 방식으로 문자열을 생성하면 String constant pool이 적용되지 않고 매번 새로운 객체가 생성됩니다.

728x90