“什么是Java虚拟机,为什么要使用”。

最近一个1年Java开发经验的同学去面试阿里,遇到这个问题向我求助。

Hi,大家好,我是Mic,一个工作14年的Java程序员。

那么,这个问题,面试官希望考察什么呢?

问题解析

Java虚拟机,是Java应用程序运行的平台。

很多初学者,第一步基本上都是学习怎么写代码,并没有关注Java代码所运行的平台。

因此,虽然写了几年代码,但是对Java本身的理解不够深刻,程序一旦出现问题,很难排查和解决。

面试官考察这个问题的出发点,我认为有三个

所以,对于这个问题来说,我们只需要从JVM关键特性Write Once、Run Anywhere这个角度去切入解释就行了。

下面我们来看看高手应该怎么回答。

高手:

Java虚拟机是Java语言的运行环境。

之所以需要Java虚拟机,主要是为Java语言提供Write Once,Run Anywhere能力。

实际上,一次编写,到处运行这个能力本身是不可能实现的。因为不同的操作系统和硬件。

最终执行的指令会有较大的差异。

而Java虚拟机就是解决这个问题的,它能根据不同的操作系统和硬件差异,生成符合这个平台机器指令。

简单理解,它就相当于一个翻译工具,在window下,翻译成window可执行的指令,在linux下,

翻译成linux下可执行的指令。

除了这个因素以为,我认为自动回收垃圾这个功能也是原因之一,它让开发者省去了垃圾回收这个工作。

减少了程序开发的复杂性。

总结

好了,今天的分享就到这里结束了

如果喜欢我的作品,记得点赞、收藏、关注!

需要高手面试文档(附赠大厂内部十万字面试文档)或者有不懂的技术面试题想咨询的小伙伴可以后台私信【Mic】或者评论区留言。

深入理解java虚拟机执行临时代码(Java面试什么是Java虚拟机)(1)

,