String Pool

2022. 7. 22. 23:18Java/일반

String의 생성방식

new 연산자를 이용한 방식

new를 통해 String을 생성하면 Heap Memory 영역에 존재하게 됩니다.

리터럴을 이용한 방식

String Pool이라는 영역에 존재하게 됩니다.

String Pool의 개념

String Pool이란 Java Heap Memory에 있는 String 데이터 저장소입니다.

위의 그림을 통해 다음과 같은 사실을 알 수 있습니다.

  • 리터럴로 생성한 String 객체는 String Pool에 들어갑니다.
  • 리터럴로 생성한 객체의 값(ex. "Cat")이 이미 String Pool에 존재한다면, 해당 객체는 String Pool의 reference를 참조합니다.
  • new 연산자로 생성한 String 객체는 같은 값이 String Pool에 존재하더라도 별개의 객체로 취급되어 Heap Memory내에 존재합니다.
728x90

'Java > 일반' 카테고리의 다른 글

JPA  (0) 2023.01.22
Java Serialize  (0) 2022.11.27
Netty  (1) 2022.05.26
JIT Compiler  (0) 2021.10.08
Java Heap 메모리 구조  (0) 2021.08.23