JVM、JDK、JRE你分的清吗

JVM、JDK、JRE你分的清吗

前言

在我们学习Java的时候,就经常听到”需要安装JDK”、”运行需要JRE”、”JVM调优”等等,这里面的JVM、JDK、JRE你真的分得清吗,今天我们就来讲讲它们之间的关系。

JVM

学过Java的都知道,JAVA是一次编译,到处运行,这主要是通过JVM,JVM是JAVA跨平台的核心,它主要是指的是JAVA虚拟机,JVM是不能单独安装的。JVM主要功能是屏蔽了不同平台之间的差异性,负责将java字节码文件解释成对应系统可以运行的机器指令,我们在不同操作系统上执行JAVA文件的时候,需要安装对应系统的JDK,编写的JAVA程序首先会被编译成.class文件,再把.class文件交给对应系统的JVM虚拟机翻译成对应系统的操作指令进行执行,也就是说JVM会把.class文件中的字节码指令识别并且调用对应操作系统上的API进行执行。JVM可以进行定制,每个人都可以开发属于自己的JVM。

JRE

JRE是Java运行时环境,它包含JAVA程序所需的所有内容,包括Java虚拟机、Java类库、Java命令等。JRE是可以单独进行安装的,但是不能创建新的JAVA程序。

JDK

JDK是Java的开发工具包,是编译环境,一般我们开发程序下载安装的就是JDK,它是JAVA开发必需的工具,它包含JAVA编译器,包含Java编译命令,例如javac.exe,java.exe等,还包含Java的运行环境,即上面我们提到的JRE,还包含JVM虚拟机,所以一般我们开发JAVA程序,安装JDK之后就会安装好JRE和JVM。JDK是可以创建新的JAVA程序的。JDK和JRE可以单独安装,但是JVM不能单独安装,它们之间的关系可以简单理解为JDK>JRE>JVM。

总结

如果只是简单运行JAVA程序的话,安装JRE即可,但是如果是开发JAVA程序的话,那就需要安装JDK了,但是运行部分JAVA应用程序时,如果需要JDK来进行编译的,可能也需要安装JDK才可以运行。

原文链接:https://monkey.blog.xpyvip.top/archives/jvmjdkjre-ni-fen-de-qing-ma

Original: https://www.cnblogs.com/aibianchengya/p/16811746.html
Author: 程序猿的代码
Title: JVM、JDK、JRE你分的清吗

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/643184/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 记一次graylog 日志不能写入的问题解决

    新搭建的graylog,同时已经做了一些简单的性能优化,早期直接基于内置的随机http 消息生成压测,稳定性以及写入还是很不错的,而且都是新机器没啥压力但是经过一段时间之后发现如果…

    技术杂谈 2023年5月31日
    084
  • 记一次jenkins 升级问题

    问题比较简单,主要是关于jdk 问题的,因为系统的jdk 都是基于rpm 构建的openjdk,而且项目构建需要使用openjdkjenkins 安装也是基于rpm 包的(jdk8…

    技术杂谈 2023年5月31日
    074
  • 记忆规律

    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站:【读书编程笔记】fanrenyi.com ;有各种前端、后…

    技术杂谈 2023年5月31日
    0103
  • HTTP状态管理机制之Cookie

    一、cookie 起源 cookie 最早是网景公司的雇员 Lou Montulli 在1993年3月发明,后被 W3C 采纳,目前 cookie 已经成为标准,所有的主流浏览器如…

    技术杂谈 2023年6月1日
    088
  • gor实现线上HTTP流量复制压测引流

    一、使用背景 gor 是一款go语言实现的简单的http流量复制工具,它的主要目的是使你的生产环境HTTP真实流量在测试环境和预发布环境重现。只需要在 代理例如nginx入口服务器…

    技术杂谈 2023年5月31日
    087
  • Vim 练级攻略

    以下的文章翻译自《Learn Vim Progressively》,我认为这是给新手最好的VIM的升级教程了,没有列举全部的命令,仅仅是列举了那些最实用的命令。 很不错。 ————…

    技术杂谈 2023年5月31日
    099
  • 基于STC51单片机的霓虹灯

    使用PWM驱动8个LED灯 人眼不能观察到灯光全灭 灯光要有动画效果 ​ 按照设计要求,为了更直观的说明脉冲宽度调制技术(PWM),所以霓虹灯的动画效果为流水灯形式。所需要的单片机…

    技术杂谈 2023年7月25日
    057
  • WeNet 更新:超大规模数据 UIO,支持千万小时语音训练任务(转载自语音杂谈)

    转载自语音杂谈https://mp.weixin.qq.com/s/C6vVQ455g_fVNtRBb9pa7A WeNet 更新:超大规模数据 UIO,支持千万小时语音训练任务 …

    技术杂谈 2023年7月25日
    062
  • 记疫情期间第一次TOGAF认证课:从线下转到线上教育

    2019年底,我们招募2020年第一期TOGAF认证公开课学员,10人小班,不到一周时间名额就满了。两天周末时间,还有从外地赶过来的。有1/3学员在听完线下课后有种如饥似渴的感觉,…

    技术杂谈 2023年5月31日
    089
  • centos找不到环境变量 -bash: ls: command not found

    在系统中输入命令,报如下错误: [root@a1 work]# ll-bash: ls: command not found 临时解决办法: export PATH=/usr/lo…

    技术杂谈 2023年5月31日
    093
  • Vue2和Vue3的区别

    创建一个 template 组件来说,大多代码在Vue2和Vue3都非常相似。Vue3支持 碎片(Fragments),就是说在组件可以…

    技术杂谈 2023年5月31日
    083
  • elasticsearch

    一、什么是Elasticsearch? Lucene是一套用于 全文检索和 搜寻的 开源程序库,由Apache软件基金会支持和提供 Lucene提供了一个简单却强大的应用程序接口(…

    技术杂谈 2023年7月10日
    049
  • 在vue中使用jsx语法

    参考地址: https://www.cnblogs.com/amylis_chen/p/11320059.html 什么是JSX? JSX就是Javascript和XML结合的一种…

    技术杂谈 2023年5月31日
    090
  • Vue前端访问控制方案

    1、前端访问控制的常规处理方法 前端访问控制,一般针对界面元素dom element进行可见属性或enable属性进行控制,有权限的,相关元素可见或使能;没权限的,相关元素不可见或…

    技术杂谈 2023年6月21日
    081
  • 树莓派初次开机配置教程

    树莓派初次开机配置教程 树莓派 背景故事 树莓派镜像烧录完成后,一堆配置步骤,应该如何选择呢?本教程一一给大家演示一遍。 准备工作 刷好镜像的SD卡 树莓派刷机烧录镜像可以参考我的…

    技术杂谈 2023年7月23日
    091
  • Vue系列—理解Vue.nextTick使用及源码分析(五)

    一. 什么是Vue.nextTick()? 2.1 更改数据后,进行节点DOM操作。 比如修改数据、修改节点样式、等操作。比如说我修改data中的一个属性数据后,如果我这个时候直接…

    技术杂谈 2023年6月1日
    091
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球