請考慮以下語句並將日誌級別設置爲ERROR。正在使用的記錄API是log4j。 根據以上信息將創建多少個字符串?常量池中將創建多少個字符串對象
if (logger.isDebugEnabled()) {
logger.debug("Executing SQL query [" + sql + "]");
}
另一個問題是
if (logger.isDebugEnabled()) {
StringBuilder sBuilder = new StringBuilder("Executing SQL query [");
sBuilder.append(sql);
sBuilder.append("]");
logger.debug(sBuilder.toString());
}
多少字符串將在上述情況下產生的呢?
我的問題是編譯器會創建字符串,即使記錄器未啓用調試?
這些也會在運行時加載嗎? – Jabir
@Jabir Ofcourse,這是一個簡單的Java線,天氣它是記錄器或什麼。至少我相信如此。 –
@Suresh我稍微修改了一下問題,你可以請現在檢查 – Jabir