java - 使用 String 或 StringBuilder 来保留大文本是什么?

标签 java performance

我有多线程程序,可以读取大型 xml 并当前将它们转换为字符串,例如:

String temp = MyObject.convertToString(xmls);

我必须将此字符串传递给各种方法来处理它。该问题与附加无关,而是与在对象(即字符串或 StringBuilder)中保存/存储此大文本有关。

String 和 StringBuilder 将如何影响性能/内存,我的想法是,如果我继续使用 String,它会将 JVM 中的字符串与多个 XMLS 进行池化。 在其他情况下,它将是一个对象,一旦不需要或设置为 null,就会被 GC。 更多关于 Stringbuilder.toString() 在内存上的行为。

最佳答案

it will pool the string in JVM with multiple XMLS

仅当它是字符串文字或者您 intern() 它时。没有理由不在此处使用String

关于java - 使用 String 或 StringBuilder 来保留大文本是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42408425/

相关文章:

java基本计算器查找星期几 7

java - 可以合并 Java 枚举(如 C# 中的按位)吗?

java - 如何遍历字符串数组列表的数组列表?

algorithm - 找到方法测试矩阵(数学问题)解释的有效方法

java - 多线程服务器转换为 SSL 后,回显消息时出现问题

java - 创建一个在字符串开头没有两个字符匹配的正则表达式。

c# - ASP.NET session - 大对象与许多小对象

Python 3.5 与 3.6 相比,是什么让 "map"比理解更慢

c# - 动态方法预链接

java - 对byte[]和int[]进行操作,同一个内存