Haruskah logger dinyatakan statis atau tidak? Biasanya saya telah melihat dua jenis deklarasi untuk seorang logger:
dilindungi Log log = baru Log4JLogger (aClass.class);
atau
pribadi Log log statis = baru Log4JLogger (aClass.class);
Mana yang harus digunakan? apa pro dan kontra dari keduanya?
static
adalah satu referensi per kelas. non-statis adalah satu referensi per instance (+ inisialisasi). Jadi dalam beberapa kasus, yang terakhir datang pada dampak memori yang signifikan jika Anda memiliki banyak contoh. Jangan pernah menggunakan non-statis di objek yang sering . Saya selalu menggunakan versi statis. (yang harus diberi huruf besar LOG
)
private static final Log log
huruf kecil. Logger bukanlah sebuah konstanta, logger adalah objek akhir statis (yang dapat dimutasi). Secara pribadi saya selalu menggunakan logger
.