【java基础面试题】jdk、jre、jvm区别

jdk
从概念上讲JDK是JAVA开发工具,用它来开发JAVA程序,里面有很多基础类库和jre。
JDK(Java Development Kit),它是功能齐全的 Java SDK,是提供给开发者使用的,能够创建和编译 Java 程序。他包含了 JRE,同时还包含了编译 java 源码的编译器 javac 以及一些其他工具比如 javadoc(文档注释工具)、jdb(调试器)、jconsole(基于 JMX 的可视化监控⼯具)、javap(反编译工具)等等。
JRE
JRE是JAVA运行环境,开发出来的JAVA程序只要有JRE(jvm)就能运行。
jvm
JVM是JAVA虚拟机,是JRE的一部分,对于JAVA类的操作基本上都是在JVM上完成的
JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的 JVM 实现是 Java 语言“一次编译,随处可以运行”的关键所在。
![[Linux]文件描述符(万字详解)](https://img-blog.csdnimg.cn/img_convert/f2ac4b10b9eb35a05a81968da5a210c2.png)


















![java八股文面试[多线程]—— as-if-serial](https://img-blog.csdnimg.cn/f8c1d8aad67c44a28768483f3eb499fc.png)