Logger statik ilan edilmeli mi, olmamalı mı? Genellikle bir kaydedici için iki tür bildirim gördüm:
korumalı Günlük kaydı = yeni Log4JLogger (aClass.class);
veya
özel statik Günlük günlüğü = yeni Log4JLogger (aClass.class);
Hangisi kullanılmalı? her ikisinin profesyonelleri ve eksileri nelerdir?
static
sınıf başına bir referanstır. statik olmayan, örnek başına bir referanstır (+ başlatma). Bu nedenle, bazı durumlarda, tonlarca örneğiniz varsa, ikincisi önemli bir bellek etkisine neden olur. Statik olmayanı asla sık bir nesnede kullanmayın. Ben her zaman statik versiyonu kullanırım. ( büyük harfle yazılmalıdır LOG
)
private static final Log log
küçük harf olmalıdır . Kaydedici sabit değildir, kaydedici statik bir nihai nesnedir (değiştirilebilen). Şahsen ben her zaman kullanırım logger
.