Java - 我应该在哪里初始化变量以获得内存效率?

Hat*_*Hat 2 java memory variables performance

内存是否可以初始化一个将被频繁调用的方法中的变量?基本上,这个示例方法是:

int amount;
private boolean method() {
    amount = Random.nextInt(0, 100);
    return amount == 50;
}
Run Code Online (Sandbox Code Playgroud)

在这种方法的内存效率方面更多/更少/相同:

private boolean method() {
    int amount = Random.nextInt(0, 100);
    return amount == 50;
}
Run Code Online (Sandbox Code Playgroud)

是的,我知道这些不是最好的例子,并且它们有一些冗余.对于那个很抱歉.

无论如何,提前谢谢.

NPE*_*NPE 8

效率的差异(如果有的话)极有可能完全无关紧要.如果amount不需要在方法外部可见,则更喜欢第二个版本,因为它没有不必要的副作用并且是线程安全的.

要扩展最后一点,如果要method()在同一对象上调用多个线程,则第一个版本将对竞争条件开放.