Czy rejestrator powinien być uznany za statyczny, czy nie? Zwykle widziałem dwa rodzaje deklaracji dla rejestratora:
chroniony dziennik dziennika = nowy Log4JLogger (aClass.class);
lub
prywatny statyczny Log log = new Log4JLogger (aClass.class);
Którego należy użyć? jakie są plusy i minusy obu?
static
to jedna referencja na klasę. niestatyczne to jedno odwołanie na instancję (+ inicjalizacja). Więc w niektórych przypadkach ta ostatnia ma znaczący wpływ na pamięć, jeśli masz mnóstwo instancji. Nigdy nie używaj niestatyki w częstym obiekcie. Zawsze używam wersji statycznej. (które powinny być duże litery LOG
)
private static final Log log
małe. Rejestrator nie jest stałą, rejestrator jest statycznym obiektem końcowym (który można zmutować). Osobiście zawsze używam logger
.