So my question today is about the translation process of Java. I understand the general translation process itself but I am not too sure how it applies to Java. 
Where does the lexical analysis take place? When is symbol table created? When is the syntax analysis and how is the syntax tree created?
From what I have already research and able to understand is that the Java source code is then translated into a independent byte-code through a JVM or Java Virtual Machine. Is this when it undergoes a lexical analysis?
I also know that after it is translated into byte-code it is translated into machine code but I don't know how it progress after that.
Last but not least, is the Translation process of Java and different from C++ or Python?
All of the translation process is done when you compile a Java program. This is no different than compiling a C++ program or any other compiled language. The biggest difference is that this translation is targeted to the Java Byte Code language rather than assembly or machine language. The Byte Code undergoes its own translation process (including many of the same stages) when the program is run.
What is the Translastion Process of Java?