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)
是的,我知道这些不是最好的例子,并且它们有一些冗余.对于那个很抱歉.
无论如何,提前谢谢.
效率的差异(如果有的话)极有可能完全无关紧要.如果amount不需要在方法外部可见,则更喜欢第二个版本,因为它没有不必要的副作用并且是线程安全的.
要扩展最后一点,如果要method()在同一对象上调用多个线程,则第一个版本将对竞争条件开放.