Maison > Java > javaDidacticiel > Comment le pool de chaînes de Java gère-t-il les chaînes créées avec le mot-clé « nouveau » ?

Comment le pool de chaînes de Java gère-t-il les chaînes créées avec le mot-clé « nouveau » ?

Patricia Arquette
Libérer: 2024-12-16 14:00:23
original
363 Les gens l'ont consulté

How Does Java's String Pool Handle Strings Created with the `new` Keyword?

Explorations du pool de cordes de Java

Considérez le code suivant :

String first = "abc";
String second = new String("abc");
Copier après la connexion

Question 1 : Pool de cordes Utilisation avec un nouveau mot-clé

Lorsque Java s'initialise en deuxième avec le new String() constructeur, crée-t-il une toute nouvelle instance abc String ?

Réponse : Oui, l'utilisation de new garantit la création d'un nouvel objet String.

Question 2 : Stockage de tas et de pools de chaînes

L'instance String nouvellement créée (à partir du nouveau mot-clé) sera-t-elle stockée dans le fichier standard tas ou le pool String ?

Réponse : Tous les objets, y compris les objets String, résident sur le tas. Le pool de chaînes n'est pas une zone de mémoire distincte ; c'est un mécanisme semblable à un cache.

Question 3 : Nombre de pools de chaînes

Combien d'instances de la chaîne « abc » finiront dans le pool de chaînes ?

Réponse : Généralement, lorsque vous créez des littéraux String immuables, Java les place automatiquement dans le String piscine. Cependant, dans ce scénario spécifique :

  • le premier se verra attribuer une référence à la chaîne abc du pool de chaînes.
  • le deuxième, créé avec new String("abc"), sera créez un objet String distinct, qui ne sera pas stocké dans le pool String.

Par conséquent, dans ce cas, un seul un L'instance de chaîne "abc" existera dans le pool de chaînes.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal