标签: java string-literals
何时分配字符串文字并将其放入字符串池?具体来说,如果任何代码路径永远无法访问字符串文字,它是否会被分配?
想象一下,您有以下代码片段:
if(logger.isLoggable(Level.FINEST)){ logger.log(Level.FINEST, "literal"); }
Will" literal"如果FINEST不是并且从未成为可记录级别,那么会被分配吗?
答案 0 :(得分:2)
来自JVM spec:
当Java虚拟机创建类或接口(第5.3节)时,将构造类或接口的运行时常量池。
因此使用它的代码的可达性与它无关。