title: Why Java is both compiled and interpreted language when the JIT also compiles the bytecode?
body: <p>I read that, a java source code is compiled into 'bytecode' then it is 'Compiled' again by JIT into 'machine code'. That is, the source code is first compiled into a platform independent bytecode and then compiled again to a machine specific code.  Then why it is called as both interpreted and compiled language?  Where the interpretation takes place?</p>