Java is compiler and interpreter both. old definitions of compiled vs. interpreted does not make sense nowadays. Any programming language can be interpreted and/or compiled. Java interpreter