gpt4 book ai didi

Java : Is String. 替换 GC 开销太大?

转载 作者:行者123 更新时间:2023-11-30 10:31:50 27 4
gpt4 key购买 nike

给定代码:

long i=0;
while(i++<MILLIONS){
String justHex = UUID.randomUUID().toString().replaceAll("-","");
System.out.println(justHex);
}

这会产生很多独特的字符串,最终 gc 必须清理这些字符串。而且,在此处输入代码对每个字符串执行 replaceAll 将创建更多独特的字符串(两次?)。

这 (replaceAll) 是否是小型应用程序的 GC 的重大开销?

程序员应该担心这些事情吗?

最佳答案

这些字符串是临时字符串,在下一次迭代中不会再被引用,所以我希望它们能很快被垃圾回收。除非基准测试表明循环是性能瓶颈,否则不要太担心它并关注功能的正确性。

对内存使用和性能的更大影响将是您使用 replaceAll,它需要一个 正则表达式 作为第一个参数。如果不需要正则表达式,最好使用 replace,它也会替换所有出现的地方,但没有正则表达式开销。

关于Java : Is String. 替换 GC 开销太大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42971051/

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