gpt4 book ai didi

java - 创建特定大小 (MB) 的 Java 变量(字符串)

转载 作者:太空狗 更新时间:2023-10-29 22:58:49 24 4
gpt4 key购买 nike

我正在尝试对一些代码进行基准测试。我正在通过套接字发送一个字符串消息。我想发送 100KB、2MB 和 10MB 的字符串变量。有没有简单的方法来创建这些大小的变量?

目前我正在做这个。

private static String createDataSize(int msgSize) {
String data = "a";
while(data.length() < (msgSize*1024)-6) {
data += "a";
}
return data;
}

但这需要很长时间。有没有更好的办法?

更新:谢谢,我现在正在做。

/**
* Creates a message of size @msgSize in KB.
*/
private static String createDataSize(int msgSize) {
// Java chars are 2 bytes
msgSize = msgSize/2;
msgSize = msgSize * 1024;
StringBuilder sb = new StringBuilder(msgSize);
for (int i=0; i<msgSize; i++) {
sb.append('a');
}
return sb.toString();
}

最佳答案

您可以简单地创建一个大字符数组。

char[] data = new char[1000000];

如果你需要做一个真正的String对象,您可以:

String str = new String(data);

不要使用 +=在循环中构建字符串。具有 O(n²) 内存和时间使用情况,如 String对象是不可变的(因此每次调用 += 时,都必须创建一个 String 对象,在此过程中复制旧字符串的全部内容)。

关于java - 创建特定大小 (MB) 的 Java 变量(字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2474486/

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