> Java > java지도 시간 > Java에서 `c == d`가 `Integer c = 100` 및 `Integer d = 100`에 대해 `true`를 반환하는 이유는 무엇입니까?

Java에서 `c == d`가 `Integer c = 100` 및 `Integer d = 100`에 대해 `true`를 반환하는 이유는 무엇입니까?

DDD
풀어 주다: 2024-12-08 00:43:16
원래의
855명이 탐색했습니다.

Why does `c == d` return `true` for `Integer c = 100` and `Integer d = 100` in Java?

Java의 정수 캐싱

쿼리:

Java에서 c == d 비교가 true로 평가되는 이유는 무엇입니까? 서로 다른 Integer 객체임에도 불구하고(c = 100 및 d = 100)?

응답:

성능과 메모리 활용도를 높이기 위해 Java는 -128에서 127 범위 내의 정수 객체에 대한 캐시를 사용합니다. 결과적으로 c 및 동일한 캐시된 인스턴스를 참조합니다.

목적 최적화:

  • 메모리 절약: 공통 정수 값을 캐시함으로써 Java는 각 고유 값에 대해 별도의 객체를 생성하는 것에 비해 상당한 메모리 공간을 절약합니다.
  • 캐시 효율성: 자주 사용되는 정수 값을 캐싱하면 캐시를 최소화하여 캐시 성능이 향상됩니다. misses.

이점:

  • 향상된 성능: 메모리 소비 감소 및 캐시 효율성 향상으로 코드 실행 속도가 빨라집니다.
  • 최적화된 메모리 활용: 정수 캐싱을 통해 다른 애플리케이션을 위한 귀중한 메모리 리소스를 확보할 수 있습니다.

연구

다음 참조 자료는 이 주제에 대한 추가 통찰력을 제공합니다.

  • [Java Platform SE 8 언어 사양](https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.1.7)
  • [Autoboxing 튜토리얼](https:// docs.oracle.com/javase/tutorial/java/data/autoboxing.html)

위 내용은 Java에서 `c == d`가 `Integer c = 100` 및 `Integer d = 100`에 대해 `true`를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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