java - 性能静态初始化

标签 java static

哪一种是访问静态元素的最佳方式?假设我有一个类,它将用于共享 int 静态数组。

选项A

final class A {
static private int[] a;
static {
    a = new int[1000];
    for(int i = 0; i < a.length;i++) {
        a[i] = i*50;
    }
}
static int getA(int index) {
    int tmp = a[index];
    return tmp;
}

} 选项B

final class B {
static private int[] b;
static int getB(int index) {
    b = new int[1000];
    for(int i = 0; i < b.length;i++) {
        b[i] = i*50;
    }
    int tmp = b[index];
    return tmp;
}

} 访问

公开课测试{

public static void main(String[] args) {
    int numA = A.getA(50);
    System.out.println(numA);
    int numB = B.getB(50);
    System.out.println(numB);
}

}

就性能而言,哪一个是最好的。或者是完全一样的东西; 提前致谢

最佳答案

AB 类之间的明显区别在于,对于后者,将初始化 int[] 数组每次调用 getter 时。在没有进一步要求的情况下,这似乎没有必要。因此,我投票支持使用 A 类实现。

关于java - 性能静态初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53633198/

相关文章:

java - 如何动态更新 RX Observable?

c++ - C++中子类是否共享父类的静态变量?

java - 如何将脚本sql的值获取到对象java

java - 创建一个类然后测试该类

java - 将元素从一个 ArrayList 移动到另一个

java - 为什么这会导致错误 - Java 方法中的类

objective-c - Objective C/C静态方法性能

c - 翻译单元中 `static` 定义和 `extern declaration` 的顺序

java - Java 中私有(private)静态嵌套类中的访问修饰符

java - Hazelcast - .Net 客户端支持可靠的主题吗?