java虚拟机就是一个虚拟的用于执行(【Java面试】带你从面试官的角度深入剖析,什么是Java虚拟机为什么要使用?)
“什么是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学架构」公众号公众号获取更多技术干货!创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!