昨天面试,这是面试官的第一个问题,瞬间懵逼调了,?,不知该从何说起,面试结束之后总结了一下,今天写篇博客记录一下,希望会对大家有所帮助,尤其是正在和我一样找工作的人(三伏天找工作,何止是心酸?)
这个问题问的比较笼统(字面上理解,跨平台,怎么跨平台的),我们首先分析下面试官想考面试者哪方面的知识(当然是基础知识)
首先可以从编译期和运行时两方面来回答,
编译:
首先通过javac将.java源文件编译成.class字节码文件,我们都知道计算机只认识机器码,所以通过jvm内嵌的解释器将.class文件转换为了最终的机器码
运行:
这块主要和jvm有关,回答的时候可以从类加载器,类加载机制,讲下大致的过程,也可以延伸的去讲一些jvm运行时数据区的划分等,个人理解,不喜勿呸啊