1) { sub_id = id.split(":")[1]; parent_id = id.split(":")[-6ren">
gpt4 book ai didi

通过编译器或 JIT 进行 java 优化

转载 作者:搜寻专家 更新时间:2023-11-01 01:27:22 24 4
gpt4 key购买 nike

有时我会看到这样的代码:

if (id.split(":").length > 1) {
sub_id = id.split(":")[1];
parent_id = id.split(":")[0];
}

做这样的事情会不会更好(更快)

String [] ids = id.split(":");
if (ids.length > 1) {
sub_id = ids[1];
parent_id = ids[0];
}

这样您就不必多次调用“split()”,或者编译器/JIT 是否会进行此类优化?

最佳答案

我当然不希望 JIT 编译器执行此类优化。它必须知道:

  • 结果不会在调用之间“有用地”改变
  • 没有人会利用每个方法调用产生单独数组的事实
  • 没有人会利用每个方法调用产生不同字符串对象这一事实

JIT 或编译器似乎不太可能为此进行优化。

是的,使用第二种形式肯定更有效 - 我认为它也更具可读性。当更具可读性的代码也更高效时,这就非常清楚地表明了要使用的代码;)

关于通过编译器或 JIT 进行 java 优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15339510/

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