Chaîne immuable en Java: tout ce que vous devez savoir

Cet article vous fournira une connaissance détaillée et complète de la chaîne immuable en Java, pourquoi est-ce important?

Gestion de la chaîne immuable dans est un aspect très important dans tout langage de programmation. Dans cet article, nous aborderons les pointeurs suivants:



Introduction à la chaîne immuable en Java

Le pool de chaînes contient des objets de chaîne qui sont mis en cache en raison de laquelle la chaîne est immuable. Plusieurs clients partagent les littéraux de chaîne mis en cache. Les risques liés à l'action d'un client toucheraient tous les autres clients.



Par exemple, lorsqu'un client change la valeur de chaîne «Test» en «TEST», tous les autres clients verront la valeur modifiée. La mise en cache des objets chaîne étant importante pour les performances, la classe Immutable String évitait le risque. Également, String a été rendu définitif afin que l'invariant de la classe String ne soit pas compromis. Exemple Immuabilité, Caching, calcul de code de hachage effectué par extension et remplacement des comportements.

Clé Hashmap

La clé HashMap est très populaire, l'immuabilité est très importante pour que l'objet de valeur puisse être récupéré à partir de HashMap. Hashing est le principe de HashMap, qui exige le même a de la valeur pour fonctionner correctement. Deux codes de hachage différents sont produits l'un au moment de l'insertion et l'autre au moment de la récupération lorsque le contenu est modifié après l'insertion, ce qui risque de perdre l'objet de valeur de la carte dans la carte.



Chaîne immuable aux tables de hachage en Java
La classe String immuable en Java est la plus fréquemment demandée .La discussion commence par, qu'est-ce qu'une chaîne, en quoi elle est différente de String en C ++, puis la question suivante concerne les objets immuables en Java, les avantages de l'objet immuable, leur utilisation et les scénarios pour les utiliser.

Besoin d'une chaîne immuable en Java

Deux raisons sont importantes pour expliquer pourquoi la classe Immutable String est créée en Java:

1. Il n'est pas du tout possible dans le cas d'avoir une chaîne objet / littéral.



c ++ sauter à la ligne

Faisons référence à l'exemple ci-dessous:

«Test» peut être référencé par de nombreuses variables de référence. Si l'un d'entre eux change la valeur des autres, cela sera également affecté. Voyons comment.

Chaîne A = 'Test'
Chaîne B = 'Test'


Chaîne A appelée, 'Test' .toUpperCase () qui change le même objet en,'TESTER'donc B sera également «TEST» qui n'est pas nécessaire. Vous trouverez ci-dessous un diagramme qui nous indique comment String est créé dans la mémoire du tas et le pool littéral String.

2. La chaîne a été largement utilisée comme paramètre pour de nombreuses classes Java. Par exemple, lorsque nous ouvrons une connexion réseau, nous pouvons passer le nom d'hôte et le numéro de port sous forme de chaîne, pour ouvrir la connexion à la base de données, nous pouvons transmettre l'URL de la base de données sous forme de chaîne.


Une chaîne immuable entraînerait de graves menaces pour la sécurité. Par exemple, quelqu'un peut accéder à un fichier auquel il a accès, puis modifier le nom du nom du fichier pour accéder à l'autre fichier. Dans le cas de l'immuabilité, pas besoin de s'inquiéter de ces menaces.

apprendre ssis étape par étape

Une chaîne immuable peut également partager des threads en toute sécurité, ce qui est important pour la programmation multithread. Une instance de chaîne immuable est thread-safe en Java, il n'est donc pas nécessaire de synchroniser l'opération String en externe pour éviter les problèmes de synchronisation en Java. Un autre point important à noter est la fuite de mémoire causée par Substring, qui n'est pas un problème lié au thread, mais quelque chose dont il faut être conscient.

Avec cela, nous arrivons à la fin de cet article «Immutable String in Java». C diable le par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de ce blog et nous vous répondrons dans les plus brefs délais.