java中将字符插入字符串的最快方法是什么?

stu*_*stu 3 java string

我正在编写一个带有字符串的例程,并将其格式化为引用的可打印.它必须尽可能快.我的第一次尝试将字符从一个字符串缓冲区复制到另一个编码和沿途的换行.然后我认为修改原始的stringbuffer可能会更快,而不是复制所有大部分相同的数据.事实证明插入比复制要糟糕得多,第二个版本(使用stringbuffer插入)慢了8倍,这是有道理的,因为它必须移动大量内存.

我希望的是某种间隙缓冲区数据结构,因此插入不会涉及物理移动stringbuffer其余部分中的所有字符.

所以关于每隔一段时间内通过字符串插入字符的最快方法的任何建议?

使用标准mimeutils库的建议没有帮助,因为我也是在转义字符串,因此可以一次性将其转储到smtp服务器.

JB *_*zet 6

最后,您的间隙数据结构必须转换为String,这需要通过将它们附加到StringBuilder来将所有块组装在单个数组中.

所以直接使用StringBuilder会更快.我认为你不会找到比这更快的技术.确保使用足够大的StringBuilder初始化,以避免在容量耗尽时复制整个缓冲区.