다음 명령문을 고려하고 로그 수준을 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, 그건 단순한 자바 라인, 날씨 그것은 로거 또는 무엇인지. 적어도 나는 그렇게 믿는다. –
@Suresh 약간의 질문을 수정했습니다. 지금 바로 확인하십시오. – Jabir