Artikel ini menjelaskan penggunaan dua pola singleton di Java. Bagikan untuk referensi Anda, sebagai berikut:
Menurut metode pemuatan, ada dua implementasi mode singleton:
Pribadi: Hanya digunakan di kelas yang sama
Statis: Kelas ini adalah metode kelas dan tidak dapat memanggil metode instance. /Variabel global kelas
Final: Metode atau variabel anggota tidak dapat dimodifikasi
1. Gaya pria lapar
kelas publik eagersigleton {private static final eagersigleton instance = new eagersigleton (); private eagersigleton () {} //// constructor private public eagersigleton getInstance () {// Metode pabrik statis kembalinya;}}}2. Pria malas
kelas publik lazysigleton {private static final lazysigleton instance = null; private lazysigleton () {} // private constructor publik disinkronkan lazysigleton getInstance () {// metode pabrik statis, perhatikan synchronizedif (instance == null) {instance = new LazySigAnalisis dan Perbandingan:
Kesamaan:
Pola singleton milik pola penciptaan, memastikan bahwa hanya satu contoh kelas ini yang ada dalam JVM yang sama. Dalam dua pola singleton di atas, dapat dilihat:
① Konstruktor kedua metode bersifat pribadi.
② Antarmuka eksternal adalah semua metode pabrik.
Perbedaan:
Gaya lapar secara langsung mendapatkan contoh kelas ini saat kelas dimuat. Dapat dikatakan bahwa formula terikat pada tahap awal. Gaya malas tidak menunjuk ke objek tertentu ketika kelas dimuat. Sebaliknya, itu dipanggil setelah metode pabrik dipanggil. Oleh karena itu, yang pertama cepat dan yang terakhir lambat. Tetapi yang terakhir dapat memuat kelas lain, yang sangat fleksibel (yaitu, ekspansi dinamis).
Untuk konten yang lebih terkait dengan Java, pembaca yang tertarik dengan situs ini dapat melihat topik: "Tutorial Struktur Data Java dan Algoritma", "Ringkasan Java Operation Dom Node Tips", "Ringkasan Tips Operasi Java File dan Direktori" dan "Ringkasan Java Cache Tips"
Saya harap artikel ini akan membantu pemrograman Java semua orang.