가 변 적 개체 설계
4. 567915 의
플러그 인
Integer 대상 생 성에 대한 효율 적 인 문 제 를 찾 아 냈 습 니 다.
P Bx: invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
그래서 Integer. valueOf (int) 가 어떤 최 적 화 를 했 는 지 살 펴 보 자.
public static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cache
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}
private static class IntegerCache {
private IntegerCache(){}
static final Integer cache[] = new Integer[-(-128) + 127 + 1];
static {
for(int i = 0; i < cache.length; i++)
cache[i] = new Integer(i - 128);
}
}
정수 만 들 었 구나. - 128 에서 127 캐 시!!
이 를 통 해 String, Integer... 등 가 변 대상 을 사용 할 때 스 레 드 안전 문 제 를 피 할 수 있 지만 성능 에 대한 수요 에 주의해 야 한 다 는 것 을 알 수 있다.
디자인 모드 의
4. 567915. 상기 문 제 를 해결 할 수 있 습 니 다!
필요 에 따라 변 하지 않 는 대상 을 만 들 고 이 대상 을 캐 시 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
m1 이클립스에 oracle cloud (오라클 클라우드)연결하기m1에는 oracle이 설치되지 않는다.... 큰맘먹고 지른 m1인데 oracle이 설치되지 않는다니... 하지만 이뻐서 용서가 된다. 이거 때문에 웹 개발 국비수업을 듣는 도중에 몇번 좌절하고 스트레스를 크게 받았...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.