Java面试之JDK、JRE、JVM区别

1、JDK(Java Development Kit):

JDK是Java开发工具包,它是开发Java应用程序的核心工具。它包含了编译器(javac)、运行时库(Java标准库)、调试器(jdb)等工具,以及Java开发所需的各种库和支持文件。 JDK不仅包括JRE,还包括了开发人员用来编写、编译和调试Java代码的工具。

Java源代码经过编译器(javac)编译后,会生成字节码文件(.class文件),这些字节码文件包含了与特定平台无关的中间代码,然后由Java虚拟机(JVM)在运行时解释或编译成特定平台上的本地机器代码。

2、JRE(Java Runtime Environment):

JRE是Java运行时环境,它包含了Java虚拟机(JVM)以及运行Java程序所需的核心类库和支持文件,但不包含开发工具。 JRE是运行Java程序的必要环境,如果你要运行Java程序,只需要安装JRE即可。

3、JVM(Java Virtual Machine):

JVM是Java虚拟机,它是Java程序的运行环境。它负责将Java字节码解释或编译成特定平台上的本地机器代码,以便在不同的操作系统上运行Java程序。 JVM提供了内存管理、垃圾回收、安全检查等运行时环境支持,使得Java程序具有跨平台性和可移植性。

4、简而言之 :

  • JDK是开发Java程序所需的工具包,JRE是运行Java程序所需的环境,而JVM则是Java程序的运行引擎。
  • JDK包含了JRE,而JRE又包含了JVM。这种包含关系表明了它们之间的依赖和功能分配。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/571042.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STC8H8K64U I2C主机模式相关寄存器

STC8H8K64U I2C主机模式相关寄存器 STC8H8K64U-TSSOP20 I2CCFG I2C配置寄存器 I2CMSCR I2C主机控制寄存器 I2CMSST I2C主机状态寄存器 I2CMSAUX I2C主机辅助控制寄存器 I2CTXD I2C数据发送寄存器 I2CRXD I2C数据接收寄存器 I2CCFG I2C配置寄存器 B7ENI2C ENI2C&#xff1a…

【电子元件】常用的二极管、极管规格参数一览表

目录 1. 常用的二极管规格参数1.1 贴片二极管1.2 直插二极管 2. 常用的三极管规格参数2.1 贴片三极管2.2 直插三极管 参考资料 1. 常用的二极管规格参数 1.1 贴片二极管 型号/封装丝印正向压降(Vf) 反向击穿电压(Vr)平均整流电流(Io)/正向工作电流(If)反向电流(Ir)反向恢复时间…

实验:使用apache + yum实现自制yum仓库

实验准备 Web服务器端:cenos-1(IP:10.9.25.33) 客户端:centos-2 保证两台机器网络畅通,原yum仓库可用,关闭防火墙和selinux Web服务器端 ①安装httpd并运行,设置开机自启动 安装…

2024五一萌趣嘉年华主题展活动策划案

2024五一国宝大作战 萌趣嘉年华熊猫滚滚来野主题展活动策划案-53P 活动策划信息: 方案页码:53页 文件格式:PPT 方案简介: 活动思路: 五一马上就要到了~再加上全民关注的对象--大熊猫!! 这…

Echarts异步数据与动画加载

目录 简介 头部代码 这段代码是使用 Echarts 绘制图表的关键部分。首先,初始化了一个 Echarts 实例。然后,通过 Ajax 请求获取数据,并基于此设置图表选项。其中包括颜色、背景色、标题、提示框、图例以及饼图的具体配置。 具体解释如下&a…

面试二十一、红黑树

性质: 插入: 旋转:

【论文阅读】互连网络的负载平衡路由算法 (RLB RLBth)

前言Oblivious Load Balancing 不经意路由负载平衡 1. oblivious routing 不经意/无关路由的背景知识 1. oblivious routing, adaptive routing & minimal/non-minimal routing algorithms 2. Balancing a 1-Dimensional ring: RLB and RLBth 一维 ring 的 RLB and RLBth 1…

强力的应用容器引擎---------Docker的资源控制

目录 一、CPU 资源控制 1.1cgroups有四大功能 1.2设置CPU使用率上限 1.2.1查看CPU使用率 1.2.2进行CPU压力测试 1.2.3设置50%的比例分配CPU使用时间上限 1.3设置CPU资源占用比(设置多个容器时才有效) 1.3.1创建两个容器为hua1 和hua2&#xff0c…

The_Maya_Society

突然发现自己做了一些逆向题都没有写笔记 今天,发现这道题有意思 1.解压文件 三个文件The Maya Society.html,maim.cc,maya.png 当时我看到这个题的时候,我以为是不是会是js逆向 看来是我蠢了 这三个文件,main.css和maya.png这两…

【算法分析与设计】重复的DNA

📝个人主页:五敷有你 🔥系列专栏:算法分析与设计 ⛺️稳中求进,晒太阳 题目 DNA序列 由一系列核苷酸组成,缩写为 A, C, G 和 T.。 例如,"ACGAATTCCG" 是一个 DNA序列 。 在研究…

libVLC 制作一款精美的播放器

1.简介 本文将简单介绍使用libVLC制作一款精美的播放器。 开发环境:Visual Studio + Qt插件。 Qt版本:Qt5.9。 libVLC版本:3.0.20。 以下是运行界面效果图:截取其中几张。 右键菜单,功能还是比较齐全。 2.ui界面构成 接下来简单介绍一下ui界面构成。 主界面由播放树…

二维码图片的链接怎么提取?在线获取解码链接的方法

随着现在二维码成为内容展示的主要用途,很多场景下都会需要通过扫码的方式在手机上获取内容。那么在遇到无法扫码的情况时,可以通过提取二维码短链接来访问内容,点击链接跳转到对应的内容页面。 二维码链接想要快速的提取出来,最…

在 vue3 中使用高德地图

前言:定位地图位置所需要的经纬度,可以通过 拾取坐标 获取。 一:快速上手 1. 安装依赖 npm install amap/amap-jsapi-loader # or pnpm add amap/amap-jsapi-loader # or yarn add amap/amap-jsapi-loader 2. 创建组件 src/components/Ma…

面向对象三大特征(python)

目录 1. 封装 为什么使用封装? 如何实现封装? 一个简单的封装示例 二.继承 为什么使用继承? 如何实现继承? 一个简单的继承示例 使用继承的好处 三.多态 为什么使用多态? 如何实现多态? 一个简…

面向对象介绍

1、面向对象程序设计 2、数据抽象 3、实体、对象、类之间的关系 4、从计算机的观点看对象 5、抽象 6、封装 7、继承 8、多态 9、面向对象编程方法的特性 10、面向对象编程的优缺点

IEEE PDF eXpress Validating Pdf..之后Error in converting file

在将自己写好的pdf论文转化为IEEE出版的pdf论文格式的时候,错误如下图: 解决办法如下:失败之后,那里有一个选项按钮,叫做manual request,也就是人工转换,点那个申请就可以了,然后也挺…

mathtype设置公式编号,公式居中以及编号靠右

在word中实现: 1. 首先点击栏,选择更多栏去看 看到栏的宽度,然后去设置样式 在开始-样式中设置,新建样式: 新建样式,然后设置格式-制表位,选择对齐方式,居中对齐设置刚才的一半,右…

Windows10安装配置nodejs环境

一、下载 下载地址:https://nodejs.cn/download/ ​ 二、安装 1、找到node-v16.17.0-x64.msi安装包, 根据默认提示安装, 过程中间的弹窗不勾选 2、安装完成后, 打开powershell(管理员身份) ​ 3、命令行输入 node -v 和 npm -v 如下图所示则nodejs安装成功 ​ 三…

【线程池总结】

文章目录 线程池介绍线程池的优点线程池的执行流程线程池池参数:线程池的状态常见的线程池FixedThreadPool(有限线程数的线程池):ScheduledThreadPool(定时线程池)scheduleWithFixedDelaySingleThreadExecu…

synchronized的底层原理

目录 介绍 实现原理 对象头 Monitor(监视器) 锁升级 偏向锁 轻量级锁 重量级锁 锁的优缺点 介绍 synchronized 是 Java 中的关键字,它用于锁定代码块或方法,以确保同一时刻只有一个线程可以进入被锁定的部分。这在多线程…
最新文章