Wenn ich in mein Quellcode schreibe:
int i = 60 * 1000;
Wie kompiliert javac das? Wird die Rechenoperation schon zur Compile-Zeit ausgeführt, oder erst zur Laufzeit?
Antwort: Diese "compile-time constant expression" optimiert der Compiler. Im Bytecode steht dann nur 60000. Siehe dazu auch http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.28.