Quote from the book "Java. A new generation of development":
"In technical terms, from the point of view of compilation theory, bytecode is really a kind of intermediate language (intermediate language), not real machine code. This means that the process of converting Java source code into bytecode is not a compilation in the sense how it is understood in C and C ++ languages. In turn, javac cannot be called the same compiler as gcc. In essence, it is a generator of class files for processing Java source code. A true compiler in the Java ecosystem is a dynamic compiler (JIT) " .
Do I understand correctly that while JIT is a dynamic compiler, javac is a static compiler?