当前位置: 首页 > news >正文

JDK、JRE、JVM三者关系详解

java开发工具包 = java运行环境 + java开发工具

Java 运行环境 = Java虚拟机 + java核心类库

JDK是java开发工具包,包含了编写、编译、运行、调试java程序所需的所有工具和组件。它拥有JRE所拥有的一切,还有编译器和工具,能够创建和编译程序。

JRE是java的运行环境,包括了java虚拟机和java标准类库(java API),JRE是针对java应用程序的,提供了在计算机上运行java应用程序所需的最小环境。如果只是为了运行一下java程序的话,只需要安装JRE就行了,如果需要进行java编程方面的工作,那么就需要安装JDK

JVM是java虚拟机,是java程序的运行环境,JVM的主要作用就是将java代码转换为可以在计算机上运行的机器码,并负责程序的执行。字节码和不同系统的JVM实现是java语言一次编译,到处运行的关键所在,JVM并不是只有一种,只要满足JVM规范,每个公司、组织或者个人都可以开发自己的专属JVM。(JVM规范定义了一组标准,这些标准描述了如何执行Java字节码、存储类文件格式、Java API等。遵循JVM规范,任何人都可以创建他们自己的JVM实现)

相关文章:

  • 当go get获取不到软件包时
  • 第六篇:MySQL图形化管理工具
  • 关于在分布式环境中RVN和使用场景的介绍3
  • Kafka集群安装与部署
  • 力扣-1. 两数之和
  • 华为问界M9:领跑未来智能交通的自动驾驶黑科技
  • ACK One Argo工作流:实现动态 Fan-out/Fan-in 任务编排
  • TinUI v5预发布记录
  • Javaweb之SpringBootWeb案例之propagation属性案例演示的详细解析
  • 使用C++从零开始,自己写一个MiniWeb
  • 贪心算法之找零钱
  • openJudge | 距离排序 C语言
  • OCP使用web console创建和构建应用
  • 设计模式理解:单例模式+工厂模式+建设者模式+原型模式
  • macbook电脑如何永久删除app软件?
  • create-react-app项目添加less配置
  • CSS中外联样式表代表的含义
  • Electron入门介绍
  • IDEA 插件开发入门教程
  • java取消线程实例
  • JS实现简单的MVC模式开发小游戏
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • leetcode386. Lexicographical Numbers
  • log4j2输出到kafka
  • Lucene解析 - 基本概念
  • Python_OOP
  • TypeScript实现数据结构(一)栈,队列,链表
  • Windows Containers 大冒险: 容器网络
  • 离散点最小(凸)包围边界查找
  • 聊一聊前端的监控
  • 译有关态射的一切
  • 原生Ajax
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • ###项目技术发展史
  • #pragma 指令
  • (9)STL算法之逆转旋转
  • (多级缓存)多级缓存
  • (二十三)Flask之高频面试点
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (剑指Offer)面试题34:丑数
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十)T检验-第一部分
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)大型网站的系统架构
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .net开发引用程序集提示没有强名称的解决办法
  • []使用 Tortoise SVN 创建 Externals 外部引用目录
  • [C++]命名空间等——喵喵要吃C嘎嘎
  • [CTF]2022美团CTF WEB WP
  • [Delphi]一个功能完备的国密SM4类(TSM4)[20230329更新]
  • [DevEpxress]GridControl 显示Gif动画
  • [HEOI2013]ALO
  • [Java][方法引用]构造方法的引用事例分析
  • [one_demo_17]使用传统方式实现线程间通信的例子