【Java】定義Logger為什么要用static和final?


private static final Logger logger= LoggerFactory.getLogger(ShiroConfig.class);

(1)出於資源利用的考慮,Logger的構造方法參數是Class,決定了Logger是根據類的結構來進行區分日志,所以一個類只要一個Logger就可以了,故static

(2)final表示一種編程習慣,表示該類的Logger只是記錄該類的信息,否則日志會無法提供可以令人信服的記錄

  • 定義成static final,logger變量不可變,讀取速度快
  • static 修飾的變量是不管創建了new了多少個實例,也只創建一次,節省空間,如果每次都創建Logger的話比較浪費內存;final修飾表示不可更改,常量
  • 將域定義為static,每個類中只有一個這樣的域.而每一個對象對於所有的實例域卻都有自己的一份拷貝.,用static修飾既節約空間,效率也好。final 是本 logger 不能再指向其他 Logger 對象

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM