Java子类构造函数执行时间更长

标签 java inheritance subclass superclass

这是我的问题: 我有两个类,基本继承:

public class Foo1 {
    long a;
    double b;
    String c;

    Foo1(long a, double b) {
        this.a = a;
        this.b = b;
    }

    Foo1(long a, double b, String c) {
         this(a, b);
         this.c = c;
    }
    ...
}

public class Foo2 extends Foo1 {
    Foo2(long a, double b) {
        super(a, b);
    }

    Foo2(long a, double b, String c) {
         super(a, b, c);
    }
    ...
} 

现在: - Foo1 类通常从两个构造函数创建, - Foo2 类通常从 2 个参数构造函数创建,但在 3 个参数构造函数的情况下,它创建的时间明显更长,例如:

使用 2 个参数构造函数创建(以及正在进行的其他操作)6k Foo1 和 6k Foo2 需要 2 分钟,同样的事情,使用 3 个参数构造函数创建 6k 和 6k 大约需要 1 小时。

我 100% 确定这部分会减慢我的程序速度,但我绝对不知道为什么......有什么想法吗?

最佳答案

I am 100% sure that this part is slowing down my program

不要在“我确定”的基础上进行优化。

使用分析器对您的应用程序进行基准测试,以确定真正的瓶颈。

关于Java子类构造函数执行时间更长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43798648/

相关文章:

Java:在创建父类(super class)类型的对象时使用子类的setter

swift - Swift 4 中是否可以从父类修改子类的属性?

java - 添加到 JPanel 的项目未显示

java - IntelliJ IDEA 调试器不适用于 Grails 项目

java - 避免缓存失败的操作

Ruby 自定义错误类 : inheritance of the message attribute

python - 使用键/值继承,但将其排除在 pyyaml 的结果之外

java - 访问 JSTL <c :forEach> varStatus in JSP Expression

C++子类访问修饰符?

wpf - 让数据绑定(bind) WPF Listbox 生成子类 ListboxItems