2017-01-20 2 views
0

Une fois le pool de chaînes JDK 7 créé sur le tas et non pas PermGen. Maintenant, ma question est Est-ce que les déchets sont collectés?Garbage de pool de chaînes collecté dans jdk 1.7

Il est également dit que les objets String sont toujours créés au niveau du segment de mémoire et que le pool de chaînes conserve une référence à ces objets. Donc, comment String pool implémenté en interne utilise-t-il un hashMap ou quelque chose pour la mise en cache des références.

Répondre

0

La deuxième partie de réponse à votre question ici - How does Java implement String pooling?

Je suis désolé de vous décevoir, mais la chaîne Java-Pool n'est pas une classe Java réelle mais quelque part mis en œuvre dans la machine virtuelle Java-à-dire qu'il est writen en tant que code C++. Si vous regardez le code source de la classe String (à peu près tout le long), vous voyez que la méthode intern() est native. Vous devrez passer par un code JVM pour obtenir plus d'informations.

Editer: Certaines implémentations peuvent être trouvées ici (C++ header, C++ implementation). Recherchez StringTable.