Java的子类构造函数执行更长
这里是我的问题: 我有两个班,基本继承:Java的子类构造函数执行更长
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个参数构造函数的情况下,它会创建明显更长的时间,例如:
6k Foo1和6k Foo2的创建(以及其他内容),使用2个参数构造函数花费2分钟,东西,6k和6k使用3个参数的约束函数需要li可以1小时。
我100%肯定这部分是放慢我的程序,但我absolutley不知道为什么...任何想法?
我100%肯定,这部分被拖慢我的程序
一个“我相信”的基础上不要优化。
基准你申请profiler确定真正的瓶颈。
@RBT没有什么别的回答的问题的当前状态... –
是真实的,但我觉得你的文章应该是一个评论。您要求OP通过放置一个分析器来获得更多的解释。您提出的使用探查器来衡量问题范围的建议并不是解决OP的问题。 – RBT
@RBT我不是说它是“请求更多信息”(我在评论中这么做),而是作为一个建议。果然,这不是OP可能预期的答案...... –
也许是因为你创建了6k字符串的实例。 long和double是原始类型,而String是对象 –
*“我100%肯定这部分会减慢我的程序”*您是如何测量它的? –
很好地显示基准代码。 – rmuller