• 【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下可执行的指令。

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

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

    总结

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

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

    另外,我将所有Java面试系列制作成了完整的面试文档。它的便捷之处在于,可以通过检索的方式,找到你想要的面试题,目前已经更新180期,总计超过15W字!

    【想领取面试文档的小伙伴可以点击文章底部名片无套路免费赠送给大家!】

    需要高手面试文档面试文档的小伙伴可以扫描下方二维码
    ↓↓↓↓↓↓↓↓↓↓↓↓↓

  • 相关阅读:
    Elasticsearch7教程(1) 创建文档
    遭各大平台封杀,阿里大老总结858道Java工程师必考面试题
    问卷设计中的常见问题
    智能生活 App 垂直品类- IPC SDK 架构及快速集成配置(安卓版)
    计算机体系结构和CPU工作原理
    记一次性能飙升的Mysql CRUD数据表迁移到Clickhouse表的过程
    SocketIo的使用和基于SocketIO的聊天室
    【JAVA刷题初阶】刷爆力扣第十弹——二叉树
    类加载过程
    TCP 流控问题两则
  • 原文地址:https://blog.csdn.net/q331464542/article/details/126622335