鱼这个例子举得不好
我个人目前觉得鱼这个例子举得不好,因为这个例子只是帮大家理清了源文件是如何被一步一步执行的,但是没有突出JVM的跨平台作用,所以应该使用中间人这个例子更好。详细的说,就是A认识B,B认识C,但A与C不认识,通过B(字节码文件)的介绍,使得C(不同的平台)可以认识A(源文件)。
编译器的作用相当于B通过和A的接触,产生了对A的理解和认识,而解释器的作用相当于B使用语言或其他方式向C对A作介绍的这个过程。
恩……其实我觉得我这个例子对编译器与解释器部分的比喻有点绕,要不以鱼的例子说明源文件的执行过程,以中间人的例子说明JVM的跨平台作用,怎么样?或是有两者兼得的比喻就更好了。