Junior — Middle
როგორ განვახორციელოთ Singleton ნიმუში Java-ში?
sobes.tech AI
პასუხი AI-სგან
სინგლტონი ნიმუში გარანტიას აძლევს, რომ კლასი მხოლოდ ერთი ეგზემპლარით იქნება წარმოდგენილი და გლობალურ წვდომის წერტილს უზრუნველყოფს.
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-ის გამოყენების გარეშე.