gpt4 book ai didi

java - StringBuilder花时间存储字符串值

转载 作者:行者123 更新时间:2023-12-02 22:08:30 26 4
gpt4 key购买 nike

我的日志存储在StringBuilder对象中。将近存储了214873行。每次代码发现错误时,错误消息都存储在StringBuilder对象中,并附加到下一个错误中,依此类推。

最后,在记录所有错误消息时。 StringBuilder对象中的行被写入hdfs。我面临的问题是,将完整的错误消息存储到StringBuilder对象需要6个小时。是否有任何方法可以减少存储时间,以便在生产集群中运行代码胖子?

提前致谢。

最佳答案

我可以添加到StringBuilder的最大大小为Integer.MAX_SIZE-2

public static void main(String[] args) {
int maxSize = Integer.MAX_VALUE - 2;
long start = System.currentTimeMillis();
StringBuilder sb = new StringBuilder(maxSize);
while (sb.length() < maxSize)
sb.append(' ');
long time = System.currentTimeMillis() - start;
System.out.println("Took " + time / 1e3 + " second to create a StringBuilder of " + sb.length());
}

此打印
Took 7.415 second to create a StringBuilder of 2147483645

一次只写一个字符,所以实际上应该花更长的时间。

关于java - StringBuilder花时间存储字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35295152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com