ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java面试题 2022 (JVM篇)

2022-09-08 23:32:31  阅读:297  来源: 互联网

标签:面试题 Java JDK 虚拟机 JRE JVM OpenJDK


1. 什么是JVM?

  • JVM全称是Java VirtualMachin ,中文称为Java虚拟机 。
  • JVM是Java程序运行的底层平台,与Java支持库一起构成了Java程序的执行环境。
  • 分为JVM规范和JVM实现两个部分。简单来说,Java虚拟机就是指能执行标准Java字节码的虚拟计算机。

1.1 请问JDK与JVM有什么区别?

  • 现在的JDK、JRE和JVM一般是整套出现的。
  • JDK = JRE + 开发调试诊断工具
  • JRE = JVM + Java标准库

1.2 你认识哪些JVM厂商?

常见的JDK厂商包括:

  • Oracle公司,包括 Hotspot虚拟机、GraalVM;分为OpenJDK和OracleJDK两种版本。
  • IBM 公司,J9虚拟机, 用在IBM的产品套件中
  • Azul Systems公司,高性能的Zing和开源的Zulu
  • 阿里巴巴,Dragonwell 是阿里开发的OpenJDK定制版
  • 亚马逊,Corretto OpenJDK
  • Red Hat公司的OpenJDK
  • Adopt OpenJDK
  • 此外,还有一些开源和试验性质的JVM实现,比如Go.JVM

1.3 OracleJDK与OpenJDK有什么区别?

各种版本的JDK一般来说都会符合Java虚拟机规范。

两者的区别一般来说包括:
  • 两种JDK提供的工具套件略有差别,比如jmc等有版权的工具。
  • 某些协议或配置不一样,比如美国限制出口的加密算法。
  • 其他细微差别,比如JRE中某些私有的API不一样。

1.4 开发中使用哪个版本的JDK?生产环境呢? 为什么这么选?

有一说一。选择哪个版本需要考虑研发团队的具体情况:比如机器的操作系统,团队成员的掌握情况,兼顾遗留项目等等。

当前Java最受欢迎的长期维护版本是Java8和Java11。

  • Java8是经典LTS版本,性能优秀,系统稳定,良好支持各种CPU架构和操作系统平台。
  • Java11是新的长期支持版,性能更强,支持更多新特性,而且经过几年的维护已经很稳定。

标签:面试题,Java,JDK,虚拟机,JRE,JVM,OpenJDK
来源: https://www.cnblogs.com/big-keyboard/p/16670101.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有