sif4j 字符串拼接和佔位符的區別

首先字符串拼接的會這麼寫:
logger.info("po = "+po.toString)

佔位符這麼寫:
logger.info(“po = {}”,po.toString)

對於佔位符的形式而言,只有在我們需要的時候纔會提取字符串,這樣就會避免創建string對象的時候消耗大量的資源。

因爲string對象是不可變的,所以會消耗大量的堆內存,即使我們的生產環境輸出的error級別的日誌,那拼接字符串的形式還會有大量的字符串對象佔用內存,但是當我們用佔位符的時候,只有在用到的時候纔會動態的創建

簡而言之:
佔位符的形式會延遲字符串的創建到需要他的時候;
而字符串拼接會在一開始就佔用大量內存

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章