是否在System.out或Logger中使用了字符串消息?

时间:2018-02-21 00:42:36

标签: java

我有一个使用servlet创建的webapp,我有多个日志语句。

假设LOG是一个使用适当的上下文和类详细信息初始化的logger类的静态变量,e是一个例外情况。

例如

  LOG.debug("some message here "+e.toString());

我的问题只是说,是字符串部分"这里有一些消息"默认情况下实习。像这样的语句会导致创建许多不同的字符串吗?

将创建一个带有消息的最终静态字符串"这里有一些消息"如果字符串确实被视为实习,那么效率更高还是相同?

2 个答案:

答案 0 :(得分:1)

  

我的问题只是简单地说,字符串部分是“默认情况下这里的某些消息”。

默认情况下,所有字符串文字都是实例。

  

这些语句是否会导致创建许多不同的字符串?

不是字符串文字所涉及的。连接创建了未被实习的新字符串。

  

创建一个带有“some message here”消息的最终静态字符串会更有效率

没有

  如果字符串确实被视为实习,那么它会是相同的吗?

是。 实习。没有'被视为'关于它。

答案 1 :(得分:1)

  

默认情况下是字符串部分“此处的某些消息”。

  

这些语句是否会导致创建许多不同的字符串?

是:创建一个新字符串以连接文字和0;可以创建其他新字符串来评估e.toString(),并评估e.toString()