1. قائمة تزامن جافا في الممارسة العملية
انسخ رمز الكود كما يلي:
الطبقة العامة سينجلتون {
فئة ثابتة خاصة SingletonHolder {
مورد فردي ثابت عام = Singleton جديد () ؛
}
public static Singleton getResource() {
إرجاع SingletonHolder.resource؛
}
سينجلتون خاص () {
}
}
2. جافا فعالة
انسخ رمز الكود كما يلي:
الطبقة العامة سينجلتون {
نهائي عام ثابت Singleton INSTANCE = new Singleton();
سينجلتون خاص (){}
طريقة الفراغ العام () {
//...
}
الفراغ الثابت العام الرئيسي (سلسلة [] أ) {
// طريقة الاتصال.
Singleton.INSTANCE.method();
}
}
3. استخدم التعدادات لإنشاء مثيلات فردية بذكاء
انسخ رمز الكود كما يلي:
/**
* استخدم التعدادات لإنشاء مثيلات فردية بذكاء
*/
التعداد العام سينجلتون {
مثال؛
طريقة الفراغ العام () {
//...
}
الفراغ الثابت العام الرئيسي (سلسلة [] أ) {
// طريقة الاتصال.
Singleton.INSTANCE.method();
}
}
4. قفل مزدوج
انسخ رمز الكود كما يلي:
الطبقة العامة سينجلتون {
مثيل Singleton المتطاير الخاص الثابت = null؛
/**
* منع الآخرين من أشياء جديدة
*/
سينجلتون خاص () {
System.out.println("init");
}
getInstance المفردة العامة الثابتة () {
إذا (مثيل == فارغ){
متزامن (Singleton.class) {
إذا (مثيل == فارغ){
مثيل = مفرد جديد () ؛
}
}
}
مثيل الإرجاع؛
}
}