> Java > java지도 시간 > Java의 문자열 풀은 `new` 키워드로 생성된 문자열을 어떻게 처리합니까?

Java의 문자열 풀은 `new` 키워드로 생성된 문자열을 어떻게 처리합니까?

Patricia Arquette
풀어 주다: 2024-12-16 14:00:23
원래의
363명이 탐색했습니다.

How Does Java's String Pool Handle Strings Created with the `new` Keyword?

Java의 문자열 풀 탐색

다음 코드를 고려하세요.

String first = "abc";
String second = new String("abc");
로그인 후 복사

질문 1: 문자열 풀 신규 사용 키워드

Java가 new String() 생성자를 사용하여 두 번째를 초기화할 때 완전히 새로운 abc String 인스턴스를 생성합니까?

답변: 예, new를 사용합니다. 새로운 문자열 객체 생성을 보장합니다.

질문 2: 힙 및 문자열 풀 저장소

새 키워드에서 새로 생성된 String 인스턴스가 일반 힙에 저장됩니까, 아니면 String 풀에 저장됩니까?

답변: 모든 개체, String 객체를 포함하여 힙에 상주합니다. 문자열 풀은 별도의 메모리 영역이 아닙니다. 이는 캐시와 유사한 메커니즘입니다.

질문 3: 문자열 풀 개수

"abc" 문자열의 인스턴스가 문자열 풀에 몇 개나 들어가나요?

답변: 일반적으로 불변 문자열 리터럴을 생성하면 Java가 자동으로 문자열 풀에 있습니다. 그러나 이 특정 시나리오에서는

  • 첫 번째에는 문자열 풀의 abc 문자열에 대한 참조가 할당됩니다.
  • 두 번째는 새 문자열("abc")로 생성됩니다. String 풀에 저장되지 않는 별도의 String 개체를 만듭니다.

따라서 이 경우에는 하나 "abc" 문자열 인스턴스가 문자열 풀에 존재합니다.

위 내용은 Java의 문자열 풀은 `new` 키워드로 생성된 문자열을 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿