Sobes.tech
Junior — Middle

Kako implementirati lenju inicijalizaciju Singleton obrasca?

sobes.tech АИ

Одговор од АИ

Lagana inicijalizacija Singleton u Javi omogućava kreiranje instance klase samo pri prvom pristupu, čime se štede resursi. Jedan od najčešće korišćenih načina je korišćenje unutrašnje statičke klase:

public class Singleton {
    private Singleton() {
        // privatni konstruktor
    }

    private static class Holder {
        private static final Singleton INSTANCE = new Singleton();
    }

    public static Singleton getInstance() {
        return Holder.INSTANCE;
    }
}

Ovde se klasa Holder učitava i inicijalizuje samo pri prvom pozivu getInstance(), što obezbeđuje sigurnost u višedretvenim okruženjima i lenju inicijalizaciju bez sinhronizacije.