Junior — Middle
Πώς υλοποιείται το μοτίβο Singleton στη Java;
sobes.tech AI
Απάντηση από AI
Το μοτίβο Singleton διασφαλίζει ότι μια κλάση έχει μόνο ένα στιγμιότυπο και παρέχει μια παγκόσμια πρόσβαση σε αυτό.
Στην Java, αυτό μπορεί να υλοποιηθεί με διάφορους τρόπους. Μία από τις απλές και ασφαλείς για νήματα επιλογές είναι η χρήση αργής αρχικοποίησης με τη λέξη-κλειδί synchronized ή η χρήση μιας στατικής εσωτερικής κλάσης.
Παράδειγμα με μια στατική εσωτερική κλάση:
public class Singleton {
private Singleton() {
// ιδιωτικός κατασκευαστής
}
private static class Holder {
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return Holder.INSTANCE;
}
}
Αυτή η προσέγγιση διασφαλίζει ότι η στιγμιότυπο δημιουργείται μόνο κατά την πρώτη κλήση του getInstance(), και είναι ασφαλής για νήματα χωρίς τη χρήση synchronized.