자바 상량탱크
자바에서 상량탱크 기술이 말하는 통속점은 바로 자바 단계의 캐시 기술로 대상을 신속하게 만들 수 있다.대상이 필요할 때 풀에서 가져옵니다. (풀에 없으면 하나를 만들고 풀에 넣습니다.) 다음에 같은 변수가 필요할 때 다시 만들지 않아도 됩니다. 공간을 절약할 수 있습니다.
java 8가지 기본 유형의 포장류와 대상 탱크
java의 기본 유형인 패키지 클래스, 그 중에서 Byte, Boolean, Short, Character, Integer, Long은 상량 탱크 기술을 실현했다(Bolean을 제외하고는 128보다 작은 값에만 지원됨)
예를 들어, Integer 객체
Integer i1 = 100;
Integer i2 = 100;
// , ,
// Integer i1 = Integer.valueOf(100);
// Integer i2 = Integer.valueOf(100);
System.out.println(i1 == i2);
Integer i3 = 128;
Integer i4 = 128;
System.out.println(i3 == i4);
실행 결과:
true
false
이유는 Integer 객체의 valueOf() 소스 코드를 살펴보겠습니다.
public static Integer valueOf(int i) {
assert IntegerCache.high >= 127;
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
// Integer
return new Integer(i);
}
-128~127의 Integer 객체는 IntegerCache에 캐시를 가져오고 상수 풀 기술을 사용합니다.
private static class IntegerCache { ... static final Integer cache[];
// IntegerCache cache final , , }
String 클래스의 상수 풀String 유형의 상량 탱크는 비교적 특수하다. String 유형의 상량 탱크는 jdk7에서javaheap에 놓여 있다.사용 방법은 다음과 같습니다.
• String s ='abc'와 같은 글자 양을 직접 사용합니다.
• String을 사용합니다.intern();
이상의 이 평론 자바 상량지는 바로 편집자가 여러분께 공유한 모든 내용입니다. 여러분께 참고가 되고 저희를 많이 사랑해 주시기 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.