As I know a java developer, need to let their .java file to become .class, and the .class requires the JVM to convert to native code to execute. Why the Java design in this way? Why don't just as a scripting language, using a interpreter, to interpreter .java file? or why don't just convert it to executable like C? Why need to convert to bytecode? What is the design philosophy behind the java language?
解决方案It is for sake of speed and portability at the same time.
All of what I am going to say is to be adapted and moderated depending on the case, but roughly:
If you merely interpret the java file with an interpreter you
would have portability but not speed.
If you have to compile the code for a given processor
architecture you would have speed but not portability.
With the bytecode, you compile the code (into bytecode) for a common
machine that will execute it (the JVM) it is a compromise between
speed and portability.