학습의 String 클래스 () 메소드에서 인턴 JDK1.8

jdk1.8 문자열 상수 풀은 스택에 위치하고 있습니다;

또한 다음 명령을 사용하여 시간 jdk1.8에서 (객체 상수 풀을하지 않았 음 제공)를 힙 및 상수 풀에서 String 객체를 만들지 만 힙의 포인터입니다.

문자열 S = 새로운 문자열 ( "HELLO ");
본가 기준 상수 풀을 반환하면, 상수 풀의있을 것인지 여부를 결정하는 방법은, 점 (S)은 변경되지 않으며, 스택 내에 존재하는 (본하지만 포인트 S는 경우 오브젝트), 상수 풀의 힙 객체 참조를 확립;

s.intern ()
객체의 메소드가 (비교 참고 및 페이지) 상수 풀의 생성은 물론, 피사체가 상수 풀을 구비하지 않은;

문자열의 = "안녕하세요";
상수 풀 "안녕하세요 세계"객체를 생성하지 않는 다음과 같은 방법 만 힙에 생성하고, 스택 및 상수 풀을 가지고 있으며, "세계"객체 "안녕하세요";

문자열의 = 새 문자열 ( "안녕하세요 ") + 새로운 String ( "세계");
상수 풀에서 개체를 만들 수있는 유일한 방법은 스택이 아니다;

문자열의 = "안녕하세요"+ "세계";
 

게시 된 323 개 원래 기사 · 원 찬양 (114) ·은 15 만 + 조회수

추천

출처blog.csdn.net/ywl470812087/article/details/105353379