L'enregistreur doit-il être déclaré statique ou non? Habituellement, j'ai vu deux types de déclaration pour un enregistreur:
log log protégé = nouveau Log4JLogger (aClass.class);
ou
journal statique privé du journal = nouveau Log4JLogger (aClass.class);
Lequel faut-il utiliser? Quels sont les avantages et les inconvénients des deux?
static
est une référence par classe. non-statique est une référence par instance (+ initialisation). Donc, dans certains cas, ce dernier a un impact important sur la mémoire si vous avez des tonnes d'instances. N'utilisez jamais le non-statique dans un objet fréquent . J'utilise toujours la version statique. (qui devrait être en majuscule LOG
)
private static final Log log
minuscules. L'enregistreur n'est pas une constante, l'enregistreur est un objet final statique (qui peut être muté). Personnellement, j'utilise toujours logger
.