why java does not generate any executable file though jvm uses execution engine to execute java byte code?