gpt4 book ai didi

java - `hash == 1`在Java中到底执行在哪里?

转载 作者:行者123 更新时间:2023-12-01 18:48:10 26 4
gpt4 key购买 nike

如果我们有这样的代码:

class A {
private hash = 0;

public void test(){
if (hash == 1) {
//dosomething
}
}
}

具体在哪里进行比较?

这是我的理解:

  1. 将哈希值加载到线程堆栈中,命名为 r1。
  2. 将 r1 与文字 1 进行比较。

是吗?在这段时间里,堆中的哈希值可能会改变吗?

最佳答案

字段哈希和常量 1 都加载到堆栈上。然后进行比较:

 ...
GETFIELD A.hash : I // push hash onto the stack
ICONST_1 // push 1 onto the stack
IF_ICMPNE L1 // pop the top two ints off the stack and compare them
... // do smth
L1
RETURN

关于java - `hash == 1`在Java中到底执行在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16827017/

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