java - Compile time constants and variables -



java - Compile time constants and variables -

the java language documentation says "if primitive type or string defined constant , value known @ compile time, compiler replaces constant name everywhere in code value. called compile-time constant."

so understanding if have piece of code:

private final int x = 10;

then, compiler replace every occurrence of 'x' in code literal '10'. suppose constant initialized value @ run-time,

private final int x = getx(); // here getx() returns integer value @ run-time.

will there performance drop (howsoever negligible) may compared compile-time constant?

another question whether below line of code:

private int y = 10; // here y not final

is treated in same way compile time constant compiler?

edit: finally, understand answers are:

final static means compile time constant just final means constant initialized @ run-time just static means initialized @ run-time without final variable , wouldn't treated constant.

is understanding correct?

compile time constant must be:

declared final primitive or string initialized within declaration initialized constant expression

so private final int x = getx(); not constant.

to sec question private int y = 10; not constant (non-final in case), optimizer cannot sure value not alter in future. cannot optimize constant value. reply is: no, not treated same way compile time constant.

java performance constants final compile-time-constant

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -