Compiled language: The high-level language code is translated into a machine code that can be executed by a particular system and packaged as an executable program recognized by the platform.
However, different platform (System) machine code is different, so the compiled executable program can not be ported to other platforms. But because it is the machine code, the execution efficiency is high.
Interpreted language: Ruby,pathon, etc., uses a specialized interpreter to compile and execute the language of the source program on a row-by-line basis. In this way, each run needs to compile, so the efficiency is low, but the portability is good, only need the specific platform interpreter can explain the source program.
Java, even if the compiler is interpreted, will first compile the source code into a platform-independent bytecode, the. class file, rather than execute the file, and then go through the Java interpreter to explain the execution.
The part responsible for interpreting execution is that the Jvm,java virtual machine is equivalent to a virtual computer, all Java is oriented to the JVM, and the JVM provides the same set of interfaces to bytecode, which allows all Java compiled bytecode to run through this interface on any JVM on any platform. The different jvms are interpreted downward as the machine code for that particular platform and run.
Jdk:java Standard Development Kit: Contains the compilation environment, Java Runtime Environment (JRE), and common class libraries. The JRE contains the Java runtime environment such as the JVM,
Getting Started with Java