【面试】JDK和JVM是什么关系?

news/2024/9/22 16:38:09/

目录

          • 1. JDK
          • 2. JVM
          • 3. 关系

1. JDK
  • 1.Java Development Kit,java开发工具包。
  • 2.提供了java应用程序开发所需的所有工具和API。
  • 3.JDK包含了JRE(Java Runtime Environment),即Java运行环境,以及编译Java源代码的编译器(javac)和其他工具(如javadoc、jdb等)。
  • 4.开发人员在开发java应用程序时,需要安装jdk,因为它包含了编写和编译java程序所需的所有内容。
2. JVM
  • 1.Java Virtual Machine,是Java虚拟机的简称。
  • 2.是Java平台的运行环境,负责将Java字节码(.class文件)转换成特定系统架构上的机器码并执行。
  • 3.JVM是跨平台的,因为它将字节码转换成机器码的工作是在运行时动态完成的,而不是在编译时。
  • 4.只要系统安装了JVM,就可以运行Java程序,而无需考虑该程序是在哪种操作系统或硬件平台上编写的。
  • 5.JVM包括一个类加载器(ClassLoader),它负责加载类文件到JVM中,一个垃圾回收器(Garbage Collector),它负责自动回收不再使用的内存。
3. 关系
  • 1.依赖关系:JDK依赖于JVM来运行Java程序,因为JDK中的编译器 javac会将Java源代码编译成JVM能够理解的字节码(.class文件)。JVM会将这些字节码转换成机器码并执行。
  • 2.包含关系:JDK包含了JRE,JRE包含了JVM。安装JDK时,同时也得到了JVM和JRE。
  • 3.目标不同:JDK的目标是提供开发人员编写和编译Java程序所需的工具和API,JVM的目标是提供一个跨平台的运行环境,使得Java程序能够在任何安装了JVM的系统上运行。

http://www.ppmy.cn/news/1467391.html

相关文章

排序(前篇)

1.排序的概念及其运用 2.插入排序的概念及实现 3.希尔排序的概念及实现 4.选择排序概念及实现 总代码(对比各个排序在大量的数据情况排序所化的时间): 1.排序的概念及其运用 1.1排序的概念 排序:所谓排序,就是使…

测试记录3:WLS2运行Linux界面

1.WLS1转到WLS2 (1)根据自己的平台,下载WLS2安装包 x64: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi arm64: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi (2&…

Apache Calcite - 使用内置函数

前言 在上一篇文章中学习了如何适配来源数据,并使用sql查询数据。当我们获取数据后,通常还会进行各种计算、变换工作,这时使用内置函数可以极大提高我们的效率。 函数介绍 Apache Calcite 提供了广泛的 SQL 函数支持,包括但不限…

C++面试题其三

继续解答常见的C面试题 继续上篇博客的解答,我们将进一步探讨C中的一些关键概念和常见面试问题。 29. typedef和define的区别 typedef:用于为现有类型定义一个新的名字。typedef是编译时的操作,它提供了类型别名,可以提高代码可…

Java基础27,28(多线程,ThreadMethod ,线程安全问题,线程状态,线程池)

目录 一、多线程 1. 概述 2. 进程与线程 2.1 程序 2.2 进程 2.3 线程 2.4 进程与线程的区别 3. 线程基本概念 4.并发与并行 5. 线程的创建方式 方式一:继承Thread类 方式二:实现Runable接口 方式三:实现Callable接口 方式四&…

微信小程序-页面导航-导航传参

1.声明式导航传参 navigator组件的url属性用来指定将要跳转到的页面的路径,同时,路径的后面还可以携带参数: (1)参数与路径之间使用 ? 分割 (2)参数键与参数值用 相连 (3&…

Spring Security 注册过滤器关键点与最佳实践

在 Spring Security 框架中,注册过滤器是实现身份验证和授权的关键组件。正确配置和使用注册过滤器对于确保应用程序的安全性至关重要。以下是一些关于 Spring Security 注册过滤器的注意事项和最佳实践。 过滤器链顺序: 注册过滤器通常位于过滤器链的末…

【学习笔记】Axios、Promise

TypeScript 1、Axios 1.1、概述 1.2、axios 的基本使用 1.3、axios 的请求方式及对应的 API 1.4、axios 请求的响应结果结构 1.5、axios 常用配置选项 1.6、axios.create() 1.7、拦截器 1.8、取消请求2、Promise 2.1、封装 fs 读…