6. Pool de constantes de chaînes 1. Pool de chaînes L'allocation de chaînes, comme les autres allocations d'objets, consomme des coûts de temps et d'espace élevés. Afin d'améliorer les performances et de réduire la surcharge de mémoire, la JVM a apporté quelques optimisations lors de l'instanciation des littéraux de chaîne. Afin de réduire le nombre de chaînes créées dans la JVM, la classe String maintient un pool de constantes de chaîne Chaque fois qu'une chaîne est créée sous la forme d'une valeur littérale, la JVM vérifie d'abord le pool de constantes de chaîne : si la chaîne existe déjà. dans le pool , la référence d'instance dans le pool est renvoyée ; si la chaîne n'est pas dans le pool, une chaîne sera instanciée et placée dans le pool. Java peut effectuer de telles optimisations car les chaînes sont immuables et peuvent être partagées sans se soucier des conflits de données. Par exemple : programme de classe publique { Main vide statique publique (String[] arguments) { &nb
1. Présentation des chaînes Java (Partie 2)
Introduction : La classe String en Java est la classe la plus fréquemment utilisée dans notre développement quotidien, mais il n'est pas facile de vraiment maîtriser cette classe. Afin de restaurer l'image réelle et complète de la classe String, l'auteur la divise d'abord en deux articles de blog pour passer en revue la classe String. L'auteur part du modèle de mémoire Java, combiné avec le code source de la classe String dans le JDK, notamment le pool constant, l'immuabilité, la méthode de création d'objets de la classe String, la relation entre la classe String et le mode flyweight, les expressions régulières, le clonage et les trois chaînes principales. Une explication complète et précise de plusieurs aspects tels que les catégories.
2. Présentation des chaînes Java (Partie 1)
Introduction : La classe String en Java est la classe la plus fréquemment utilisée dans notre développement quotidien, mais il n'est pas facile de véritablement maîtriser cette classe. Afin de restaurer l'image réelle et complète de la classe String, l'auteur la divise d'abord en deux articles de blog pour passer en revue la classe String. L'auteur part du modèle de mémoire Java, combiné avec le code source de la classe String dans le JDK, notamment le pool constant, l'immuabilité, la méthode de création d'objets de la classe String, la relation entre la classe String et le mode flyweight, les expressions régulières, le clonage et les trois chaînes principales. Une explication complète et précise de plusieurs aspects tels que les catégories.
3. Sécurité et immuabilité des threads Java
Introduction : Une condition de concurrence critique se produit uniquement si deux threads accèdent à la même ressource en même temps et qu'un ou plusieurs threads écrivent sur cette ressource. Si plusieurs threads lisent la même ressource, aucune condition de concurrence critique ne se produira. Nous pouvons être sûrs que les objets partagés entre les threads sont thread-safe en rendant l'objet partagé immuable et non mis à jour par aucun thread. Voici un exemple : public class ImmutableValue{ private int value = 0; public Immu
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!