6. 문자열 상수 풀 1. 문자열 풀 문자열 할당은 다른 객체 할당과 마찬가지로 높은 시간과 공간 비용을 소비합니다. 성능을 향상시키고 메모리 오버헤드를 줄이기 위해 JVM은 문자열 리터럴을 인스턴스화할 때 몇 가지 최적화를 수행했습니다. JVM에서 생성되는 문자열 수를 줄이기 위해 String 클래스는 문자열 상수 풀을 유지 관리합니다. 문자열이 리터럴 값 형태로 생성될 때마다 JVM은 먼저 문자열 상수 풀을 확인합니다. pool에서는 풀의 인스턴스 참조가 반환됩니다. 문자열이 풀에 없으면 문자열이 인스턴스화되어 풀에 배치됩니다. 문자열은 불변이고 데이터 충돌에 대한 걱정 없이 공유될 수 있기 때문에 Java는 이러한 최적화를 수행할 수 있습니다. 예: 공개 수업 프로그램{ 공개 정적 무효 메인(문자열[] 인수) { &nb
소개: Java의 String 클래스는 일상적인 개발에서 가장 자주 사용되는 클래스이지만 이를 실제로 마스터하고 싶다면 수업은 쉬운 일이 아닙니다. String 클래스의 실제적이고 완전한 그림을 복원하기 위해 저자는 먼저 이를 두 개의 블로그 게시물로 나누어 String 클래스를 검토합니다. 저자는 Java 메모리 모델에서 시작하여 JDK의 String 클래스 소스 코드, 특히 상수 풀, 불변성, String 클래스의 객체 생성 방법, String 클래스와 플라이웨이트 모드 간의 관계, 정규식, 복제 및 세 가지 주요 문자열 카테고리와 같은 여러 측면에 대한 포괄적이고 정확한 설명입니다.
소개: Java의 String 클래스는 일상적인 개발에서 가장 자주 사용되는 클래스이지만 이를 실제로 마스터하고 싶다면 수업은 쉬운 일이 아닙니다. String 클래스의 실제적이고 완전한 그림을 복원하기 위해 저자는 먼저 이를 두 개의 블로그 게시물로 나누어 String 클래스를 검토합니다. 저자는 Java 메모리 모델에서 시작하여 JDK의 String 클래스 소스 코드, 특히 상수 풀, 불변성, String 클래스의 객체 생성 방법, String 클래스와 플라이웨이트 모드 간의 관계, 정규식, 복제 및 세 가지 주요 문자열 카테고리와 같은 여러 측면에 대한 포괄적이고 정확한 설명입니다.
소개: 두 스레드가 동시에 동일한 리소스에 액세스하고 하나 이상의 스레드가 이 리소스를 쓰는 경우에만 경쟁 조건이 발생합니다. 여러 스레드가 동일한 리소스를 읽는 경우 경쟁 조건이 발생하지 않습니다. 공유 객체를 불변으로 만들고 어떤 스레드에서도 업데이트되지 않도록 함으로써 스레드 간에 공유되는 객체가 스레드로부터 안전하다는 것을 확신할 수 있습니다. 예는 다음과 같습니다. public class ImmutableValue{ private int value = 0 public Immu
위 내용은 불변성에 관한 추천 기사 3개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!