System.out.print()中java中的“+”拼接操作是否耗内存?

Does "+" concatenation operation in java in System.out.print() consume memory?

我对 Java 中 String 和 String Builder 的使用有疑问。 我正在使用 Java 1.8

版本一:

System.out.println("ServerSocketTimeOut = " + serversocketTimeout + " ReadTimeOut = " + readTimeout  + " SleepDelay =" + sleepDelay);

版本二:-

StringBuilder viewString= new StringBuilder("ServerSocketTimeOut = ");
viewString.append(serversocketTimeout).append(" ReadTimeOut = ")
                        .append(readTimeout).append("SleepDelay =").append(sleepDelay)

由于 StringBuilder 是可变的,我能否在内存方面获得任何性能?

Version_1 对比 Version_2 ??

在 java 1.6+ 中,优化器可能会使您的两个版本的性能相等。

但请记住,在更复杂的串联中,实际上使用 StringBuilder 可以获得更好的性能。 (例如阅读 Java: String concat vs StringBuilder - optimised, so what should I do?

如果我是你,我会考虑过多地委托给一些带参数的日志记录框架,(例如阅读

这里有一个可能的简单例子"version 3"

LOGGER.info("ServerSocketTimeOut = {} ReadTimeOut = {} SleepDelay = {}", serversocketTimeout, readTimeout, sleepDelay);