One, you can say that it is a compiled type. Because all Java code is to be compiled, Java is not compiled without any use.
Two, you can say that it is an explanatory type. Since the Java code cannot be run directly after compiling it, it is interpreted as running on the JVM, so it is interpreted as an explanation.
Third, however, the current JVM for efficiency, there are some JIT optimization. It will also compile the. Class binary code to run directly on the local code, so it is compiled again.
such as C, C + + they can be compiled directly after a compilation of the operating system to understand the type, can be directly executed so they are compiled language. Not after a second deal, and Java is different. He was first compiled by the compiler into a. class file, which is Java's own type of file and then passes through the virtual machine (JVM) Reading a line from A. class file explains the execution of a line, so he is an interpreted language, and because Java has a different JVM for many different operating systems, Java implements a truly cross-platform!
Java language: Compilation interpretation run
Java Virtual machine:
Java is an interpreted language, because although Java also needs to be compiled and compiled into a. class file, it is not a language that the machine can recognize, but a bytecode, which ultimately requires the explanation of the JVM to execute on each platform, which is also the reason for Java cross-platform. So Java is a compiled and interpreted type, but if you want to categorize it, conceptually, I'm afraid that Java should be in the interpreted language.
Report:
Compiled languages include: C, C + +, Delphi, Pascal, Fortran
Interpreted languages include: Java, Basic, JavaScript
Whether Java is a programming language or an explanatory language