Qu'est-ce qu'un pool de chaînes en Java ?
Qu'est-ce qu'un pool de chaînes en Java ?

Vidéo: Qu'est-ce qu'un pool de chaînes en Java ?

Vidéo: Qu'est-ce qu'un pool de chaînes en Java ?
Vidéo: What is String Pool In Java Video 2024, Peut
Anonim

Comme le nom le suggère, Piscine à cordes en java est un bassin de Cordes stocké dans Java Mémoire de tas. Nous savons que Chaîne de caractères est une classe spéciale dans Java et nous pouvons créer Chaîne de caractères objets en utilisant un nouvel opérateur et en fournissant des valeurs entre guillemets.

De cette manière, à quoi sert le pool de chaînes en Java ?

Les Chaîne Java constant bassin est une zone dans la mémoire de tas où Java magasins littéral chaîne de caractères valeurs. Le tas est une zone de mémoire utilisé pour les opérations d'exécution. Lorsqu'une nouvelle variable est créée et reçoit une valeur, Java vérifie si cette valeur exacte existe dans le bassin.

À côté de ci-dessus, comment la chaîne fonctionne-t-elle dans le pool de chaînes ? Pour diminuer le nombre de Chaîne de caractères objets créés dans la JVM, le Chaîne de caractères la classe garde un bassin de chaînes . Chaque fois qu'un chaîne de caractères littéral est créé, la JVM vérifie le chaîne de caractères littéral bassin premier. Si la chaîne de caractères n'existe pas dans le bassin , un nouveau Chaîne de caractères l'objet s'initialise et est placé dans le bassin.

À ce sujet, pourquoi le pool de chaînes est-il requis ?

C'est sûr parce que Chaîne de caractères est immuable en Java. En conséquence, s et t pointent tous deux vers le même objet et un peu de mémoire économisée. Nom ' piscine à cordes ' vient de l'idée que tout déjà défini chaîne de caractères sont stockés dans certains ' bassin ' et avant de créer un nouveau Chaîne de caractères le compilateur d'objets vérifie si un tel chaîne de caractères est déjà défini.

Qu'est-ce que la mémoire principale en Java ?

Premièrement, par " mémoire principale " nous voulons dire " le Java tas, vu par la JVM'. La JVM est généralement libre de travailler sur une copie locale d'une variable. Par exemple, un compilateur JIT pourrait créer du code qui charge la valeur d'un Java variable dans un registre, puis travaille sur ce registre.

Conseillé: