说我有两个类是这样的:优势在Java中使用静态变量的
class A{
private static Random random = new Random();
public A(){
// Do something.
}
public Integer methodGetsCalledQuiteOften(){
return random.nextInt();
}
}
class B{
private Random random;
public A(){
random = new Random();
// Do something.
}
public Integer methodGetsCalledQuiteOften(){
return random.nextInt();
}
}
在这样一个场景,他们都被实例化多次和这两个类实例方法的methodGetsCalledQuiteOften
被调用了很多,是否有任何real使用静态变量的优势/劣势(时间,内存)在类A中保存Random()
而不是在每个实例中创建一个新的Random()
对象,就像在类B中一样?
该应用程序是多线程和更高级别的随机性,所以我认为我会与静态SecureRandom
。如果这将是一个真正的速度因素分析后,我可能会选择别的东西。
静态实例始终运行。是否有必要在调用新类时停止随机静态实例? – 2013-05-07 05:13:48