先来回顾一下一个java程序的一生吧,首先有程序员写出源代码(.java);
然后通过javac这个编译器,将源代码编译为字节码(.class),字节码本身具有平台无关性和图灵完备性,包含指令和数据,本质上只要能将程序翻译(这不是经典意义上的编译)为相应的字节码,任何程序都能在jvm上运行(包括其他语言所写的程序,有兴趣可以看看GraallVM,我没有研究过这个东西