Was ist performancemäßig teurer:
vs.
In Beispiel A wird var einmal initalisiert, aber dann ein paar Mio mal darauf von der Methode aus zugegriffen.
In Beispiel B wird var bei jedem Aufruf der Methode neu erzeugt und das ebenfalls ein paar Mio mal.
Es kann sein, dass das Schlüsselwort final noch weg kommt, wie würde es dann aussehen?
Java:
class A {
final int var = 42;
void aufrufer(){
for (int i = 0; i <= 10000000; i++){
int irgendwas = aendertSichDauernd();
rufeAuf(irgendwas);
}
}
void rufeAuf(int irgendwas){
// greife auf var zu, z.B.
irgendwas = irgendwas - var;
}
}
vs.
Java:
class B {
void aufrufer(){
for (int i = 0; i <= 10000000; i++){
int irgendwas = aendertSichDauernd();
rufeAuf(irgendwas);
}
}
void rufeAuf(int irgendwas){
final int var = 42;
irgendwas = irgendwas - var;
}
}
In Beispiel A wird var einmal initalisiert, aber dann ein paar Mio mal darauf von der Methode aus zugegriffen.
In Beispiel B wird var bei jedem Aufruf der Methode neu erzeugt und das ebenfalls ein paar Mio mal.
Es kann sein, dass das Schlüsselwort final noch weg kommt, wie würde es dann aussehen?