Qu'est-ce que le modèle singleton ?
Le modèle singleton est un modèle de conception courant qui garantit que les instances d'une classe sont des singletons.
Avantages du mode singleton :
(1) Tout d'abord, il doit économiser les ressources mémoire. Quelle que soit la fréquence à laquelle les instances sont créées via des méthodes exposées, elles peuvent l'être. garanti d'être créé. L'objet est le même objet d'instance dans la mémoire système ;
(2) Flexibilité, puisque la création de toutes les instances est contrôlée par cette classe, toute cette classe peut modifier de manière flexible le processus d'instanciation ;
(3) Accès contrôlé aux instances, les classes singleton peuvent facilement contrôler l'accès contrôlé aux instances uniques
Inconvénients du mode singleton :
(1 ) Le mode singleton n'a pas d'interface et n'est pas facile à étendre ;
(2) Vous ne pouvez pas utiliser le mode réflexion pour créer un singleton, sinon un nouvel objet sera instancié
(3) Utiliser un singleton paresseux Faites attention aux problèmes de sécurité des threads lors de l'utilisation du mode exemple ;
package index; public class Superman { //空的构造器 private Superman(){} //实例化对象 private static Superman supermanInstance = new Superman(); //获取实例化对象的静态函数getSupermanInstance() public static Superman getSupermanInstance(){ return supermanInstance; } }
Méthode singleton paresseuse (écriture monothread) package index;
public class Superman {
//空的构造器
private Superman(){}
//实例化对象;只声明 不使用new进行实例化
private static Superman supermanInstance = null;
//获取实例化对象的静态函数getSupermanInstance()
public static Superman getSupermanInstance(){
if(supermanInstance==null){ //如果为null的情况再进行实例化
supermanInstance = new Superman();
}
return supermanInstance;
}
}
Tutoriel recommandé :
Tutoriel Java
;
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!