【Java面试】带你从面试官的角度深入剖析,什么是Java虚拟机为什么要使用? ...

打印 上一主题 下一主题

主题 912|帖子 912|积分 2740

“什么是Java虚拟机,为什么要使用”。
最近一个1年Java开发经验的同学去面试阿里,遇到这个问题向我求助。
大家好,我是Mic,一个工作14年的Java程序员。
那么,这个问题,面试官希望考察什么呢?
问题解析

Java虚拟机,是Java应用程序运行的平台。
很多初学者,第一步基本上都是学习怎么写代码,并没有关注Java代码所运行的平台。
因此,虽然写了几年代码,但是对Java本身的理解不够深刻,程序一旦出现问题,很难排查和解决。
面试官考察这个问题的出发点,我认为有三个

  • 了解求职者对于Java语言的理解深度,这个方面有助于提升代码编写的质量
  • 了解求职者对于JVM基础的掌握程度,良好的基础有助于快速解决GC问题、内存问题等
  • 考察求职者的潜质,一个对技术有热情的人,有助于更好的陪伴公司成长
所以,对于这个问题来说,我们只需要从JVM关键特性Write Once、Run Anywhere这个角度去切入解释就行了。
下面我们来看看高手应该怎么回答。
高手:

Java虚拟机是Java语言的运行环境。
之所以需要Java虚拟机,主要是为Java语言提供Write Once,Run Anywhere能力。
实际上,一次编写,到处运行这个能力本身是不可能实现的。因为不同的操作系统和硬件。
最终执行的指令会有较大的差异。
而Java虚拟机就是解决这个问题的,它能根据不同的操作系统和硬件差异,生成符合这个平台机器指令。
简单理解,它就相当于一个翻译工具,在window下,翻译成window可执行的指令,在linux下,翻译成linux下可执行的指令。
除了这个因素以为,我认为自动回收垃圾这个功能也是原因之一,它让开发者省去了垃圾回收这个工作。
减少了程序开发的复杂性。
总结

好了,今天的分享就到这里结束了
如果喜欢我的作品,记得点赞、收藏、关注!!!
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Mic带你学架构!
如果本篇文章对您有帮助,还请帮忙点个关注和赞,您的坚持是我不断创作的动力。欢迎关注「跟着Mic学架构」公众号公众号获取更多技术干货!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

刘俊凯

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表