Technologie de mise en commun constante de Java
Le point commun de Java est de dire que la technologie de mise en commun constante est la technologie de mise en cache de niveau Java, qui peut facilement et rapidement créer un objet. Lorsqu'un objet est nécessaire, procurez-le de la piscine (s'il n'y a personne, créez-le et mettez-le dans la piscine). Lorsque la même variable est nécessaire la prochaine fois, vous n'avez pas besoin de la recréer, ce qui permet d'économiser de l'espace.
Huit types de base de classes de wrapper Java et de pools d'objets
Les types de base de classes d'emballage en Java, y compris l'octet, le booléen, le court-circuit, le personnage, l'entier et le long, la technologie de mise en commun constante (sauf booléen, ils ne sont pris en charge que pour des valeurs inférieures à 128)
Par exemple, objet entier
Integer i1 = 100; entier i2 = 100; // les deux lignes de code ci-dessus, en utilisant la fonction de boxe automatique, compilée dans // entier i1 = Integer.valueof (100); // entier i2 = entier 128; System.out.println (i3 == i4);
Résultats de l'exécution:
Truefalse
Raison, je vais regarder le code source de la valeur de () de l'objet entier
Valeur entière statique publique (int i) {Assert IntegerCache.high> = 127; if (i> = IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache [i + (-IntegerCache.low)]; // recréer un objet entier qui n'est pas dans cette gamme renvoie un nouvel entier (i);}Seuls les objets entiers de -128 ~ 127 seront mis en cache dans IntegerCache, et une technologie de mise en commun constante est utilisée.
classe statique privée IntegerCache {... cache entier final statique []; // Le cache de la classe IntegerCache est modifié avec final, c'est un tableau statique qui joue un rôle de cache}Pool constant de classe de chaînes
Le pool constant de type de chaîne est assez spécial. Le pool constant de la classe de chaînes est placé dans Java Heap dans JDK7. Comment l'utiliser comprend:
• Utiliser directement les déclarations littérales, telles que String S = "ABC";
• Utilisez String.intern ();
La brève discussion ci-dessus sur Java Constant Pool est tout le contenu que j'ai partagé avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.