【吊打面试官系列】Java虚拟机JVM篇 - 三道最简单最常问的JVM面试题

本文分享了JVM的基础概念,包括JDK、JRE的区别,以及JVM的运行时数据区构成。重点讲述了JDK(开发工具包)与JRE(运行环境)的不同点,对于Java工程师面试具有参考价值。

大家好,我是锋哥。今天分享三道最简单最常问的JVM面试题,希望对大家有帮助;

一,请问JDK与JVM有什么区别?

简单来说:
1. JVM=Java 运行器;
2. JRE=JVM + Java 基础&核心类库;
3. JDK=JRE + Java 开发工具(编译器、调试器等)。
1.JVM 是 Java Virtual Machine 的缩写,翻译为中文就是“Java虚拟机”,它是一个虚构出来的计算 机,通过在实际的计算机上仿真模拟各种计算机功能来实现 Java 程序的运行,简单来说 JVM 是用 来解析和运行 Java 程序的;
2. JDK(Java Development Kit),即 Java 开发工具包,是一个编写 Java 应用程序的开发环境。JDK 是 整个 Java 的核心,包括了JRE(Java运行环境)与一些Java开发工具(例如:jconsole、javac、 java、javadoc、native2ascii、jar等)。JDK=JRE+Java开发工具(编译器、调试器等);
3.JRE(Java Runtime Environment),即 Java 运行环境,支持 Java 程序运行的标准环境,包括了 JVM(Java虚拟机)的标准实现以及 Java 基础&核心类库。JRE=JVM+Java 基础&核心类库。

1000道 互联网大厂Java工程师 精选面试题-Java资源分享网1000道 互联网大厂Java工程师 精选面试题icon-default.png?t=N7T8http://java.python222.com/article/971

二,OracleJDK与OpenJDK有什么区别?

各种版本的JDK一般来说都会符合Java虚拟机规范。
两者的区别一般来说包括:

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

三,JVM的运行时数据区有哪些?

根据JVM规范,标准的JVM运行时数据区包括以下部分:

  1. 程序计数器
  2. Java虚拟机栈
  3. 堆内存
  4. 方法区
  5. 运行时常量池
  6. 本地方法栈:具体的JVM实现可根据实际情况进行优化或者合并,满足规范的要求即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值