Maison >Java >javaDidacticiel >Pourquoi `c == d` renvoie-t-il `true` pour `Integer c = 100` et `Integer d = 100` en Java ?

Pourquoi `c == d` renvoie-t-il `true` pour `Integer c = 100` et `Integer d = 100` en Java ?

DDD
DDDoriginal
2024-12-08 00:43:16863parcourir

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

Mise en cache d'entiers en Java

Requête :

En Java, pourquoi la comparaison c == d est-elle évaluée comme vraie bien qu'il s'agisse d'objets entiers distincts (c = 100 et d = 100)?

Réponse :

Pour améliorer les performances et l'utilisation de la mémoire, Java utilise un cache pour les objets entiers compris entre -128 et 127. Par conséquent, c et d fait référence à la même instance mise en cache.

Objectif du Optimisation :

  • Conservation de la mémoire : En mettant en cache les valeurs entières communes, Java économise un espace mémoire substantiel par rapport à la création d'objets séparés pour chaque valeur distincte.
  • Efficacité du cache : La mise en cache des valeurs entières fréquemment utilisées améliore les performances du cache en minimisant le cache manque.

Avantages :

  • Performances améliorées : Une consommation de mémoire réduite et une efficacité de cache améliorée conduisent à une exécution plus rapide du code.
  • Utilisation optimisée de la mémoire : La mise en cache des entiers libère ressources de mémoire précieuses pour d'autres applications.

Recherche

Les références suivantes fournissent des informations supplémentaires sur ce sujet :

  • [Java Langue de la plateforme SE 8 Spécification](https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.1.7)
  • [Tutoriel Autoboxing](https:// docs.oracle.com/javase/tutorial/java/data/autoboxing.html)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn